version 1.19, 2021/04/11 19:22:05 |
version 1.20, 2021/04/11 19:53:30 |
|
|
allowing Go programs to use "unix" without also including "inet". |
allowing Go programs to use "unix" without also including "inet". |
<li>Excluded the first page and added a guard page between I/O |
<li>Excluded the first page and added a guard page between I/O |
virtual address space allocations on arm64. |
virtual address space allocations on arm64. |
|
</ul> |
|
<li>SMP Improvements |
<!-- SMP --> |
<ul> |
<li>Introduced "if_cloners_lock" rwlock and used it to serialize if_clone_{create,destroy}(), avoiding multiple race conditions. |
<li>Introduced "if_cloners_lock" rwlock and used it to serialize if_clone_{create,destroy}(), avoiding multiple race conditions. |
<li>Introduced a system-wide mutex that serializes msgbuf operations. |
<li>Introduced a system-wide mutex that serializes msgbuf operations. |
<li>Made <a href="https://man.openbsd.org/uvm_pagealloc.9">uvm_pagealloc(9)</a> of the physical memory allocator mp-safe. |
<li>Made <a href="https://man.openbsd.org/uvm_pagealloc.9">uvm_pagealloc(9)</a> of the physical memory allocator mp-safe. |
<li>Unlocked <a href="https://man.openbsd.org/getppid.2">getppid(2)</a>. |
<li>Unlocked <a href="https://man.openbsd.org/getppid.2">getppid(2)</a>. |
<li>Introduced locking for amaps and anons, improving build performance. |
<li>Introduced locking for amaps and anons, improving build performance. |
<li>Moved UNIX domain sockets out of the kernel lock, using the new "unp_lock" <a href="https://man.openbsd.org/rwlock.9">rwlock(9)</a> as solock()'s backend to protect the whole layer. |
<li>Moved UNIX domain sockets out of the kernel lock, using the new "unp_lock" <a href="https://man.openbsd.org/rwlock.9">rwlock(9)</a> as solock()'s backend to protect the whole layer. |
<li>Unlocked <a href="https://man.openbsd.org/sendsyslog.2">sendsyslog(2)</a>. |
<li>Unlocked <a href="https://man.openbsd.org/sendsyslog.2">sendsyslog(2)</a>. |
<li>Used per-CPU counter for fault and stats counters reached in uvm_fault(). |
<li>Used per-CPU counter for fault and stats counters reached in uvm_fault(). |
|
</ul> |
|
<li>Direct Rendering Manager |
<!-- DRM --> |
<ul> |
<li>Implemented linux interval tree functions for <a href="https://man.openbsd.org/drm.4">drm(4)</a>. |
<li>Implemented linux interval tree functions for <a href="https://man.openbsd.org/drm.4">drm(4)</a>. |
<li>Fixed <a href="https://man.openbsd.org/wsconsctl.8">wsconsctl(8)</a> display commands when using <a href="https://man.openbsd.org/drm.4">drm(4)</a> drivers on macppc. |
<li>Fixed <a href="https://man.openbsd.org/wsconsctl.8">wsconsctl(8)</a> display commands when using <a href="https://man.openbsd.org/drm.4">drm(4)</a> drivers on macppc. |
<li>Changed from <a href="https://man.openbsd.org/rwlock.9">rwlock(9)</a> to <a href="https://man.openbsd.org/mutex.9">mutex(9)</a> for linux rwlocks. |
<li>Changed from <a href="https://man.openbsd.org/rwlock.9">rwlock(9)</a> to <a href="https://man.openbsd.org/mutex.9">mutex(9)</a> for linux rwlocks. |
<li>Fixed a panic associated with locks and <a href="https://man.openbsd.org/drm.4">drm(4)</a> on macppc with Powerbook5,6 and RV350. |
<li>Fixed a panic associated with locks and <a href="https://man.openbsd.org/drm.4">drm(4)</a> on macppc with Powerbook5,6 and RV350. |
<li>Revised the initialization of the <a href="https://man.openbsd.org/drm.4">drm(4)</a> Linux emulation layer to call it only when the first drm instance attaches. |
<li>Revised the initialization of the <a href="https://man.openbsd.org/drm.4">drm(4)</a> Linux emulation layer to call it only when the first drm instance attaches. |
<li>Fixed DRI3 support on <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> and <a href="https://man.openbsd.org/ati.4">ati(4)</a>. |
<li>Fixed DRI3 support on <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> and <a href="https://man.openbsd.org/ati.4">ati(4)</a>. |
<li>Created /dev/ drm nodes with the same names as linux to simplify libdrm and negate the need for certain ports patches. |
<li>Created /dev/ drm nodes with the same names as linux to simplify libdrm and negate the need for certain ports patches. |
|
</ul> |
|
<li>VMM/VMD improvements |
<!-- VMM/VMD --> |
<ul> |
|
|
<li>Prevented memory corruption or improper page access in <a |
<li>Prevented memory corruption or improper page access in <a |
href="https://man.openbsd.org/vmm.4">vmm(4)</a> due to improper TLB |
href="https://man.openbsd.org/vmm.4">vmm(4)</a> due to improper TLB |
flushing for now by wiring the pages used by virtual machines. |
flushing for now by wiring the pages used by virtual machines. |
|
|
process to allow unicast dhcp and bootp renewals with <a |
process to allow unicast dhcp and bootp renewals with <a |
href="https://man.openbsd.org/vmd.8">vmd(8)</a>'s built-in dhcp |
href="https://man.openbsd.org/vmd.8">vmd(8)</a>'s built-in dhcp |
server. |
server. |
|
|
|
|
|
|
</ul> |
</ul> |
|
|
<li>Various new userland features: |
<li>Various new userland features: |