created | 2023-06-02T16:02:48Z |
---|---|
begin | 2023-05-13T00:00:00Z |
end | 2023-05-14T00:00:00Z |
path | src/sys |
commits | 5 |
date | 2023-05-13T09:24:59Z | |||
---|---|---|---|---|
author | mpi | |||
files | src/sys/uvm/uvm_aobj.c | log | diff | annotate |
src/sys/uvm/uvm_aobj.h | log | diff | annotate | |
src/sys/uvm/uvm_page.c | log | diff | annotate | |
src/sys/uvm/uvm_pager.c | log | diff | annotate | |
message |
Put back in the simplification of the aiodone daemon. Previous "breakage" of the swap on arm64 has been found to be an issue on one machine the rockpro/arm64 related to a deadlock built into the sdmmc(4) stack interacting with swapping code both running under KERNEL_LOCK(). This issue is easily reproducible on -current and entering swap when building LLVM on a rockpro crashes the machine by memory corruption. Tested by mlarkin@ on octeon & i386, by myself on amd64 & arm64 and by sthen@ on i386 port bulk. ok beck@ some time ago. Previous commit message: Simplify the aiodone daemon which is only used for async writes. - Remove unused support for asynchronous read, including error conditions - Grab the proper lock for each page that has been written to swap. This allows to enable an assertion in uvm_page_unbusy(). - Move the uvm_anon_release() call outside of uvm_page_unbusy() and assert for the different anon cases. ok beck@, kettenis@ |
date | 2023-05-13T13:35:17Z | |||
---|---|---|---|---|
author | bluhm | |||
files | src/sys/net/if_bridge.c | log | diff | annotate |
src/sys/net/if_gre.c | log | diff | annotate | |
src/sys/net/pf.c | log | diff | annotate | |
src/sys/netinet/in.h | log | diff | annotate | |
src/sys/netinet/ip_divert.c | log | diff | annotate | |
src/sys/netinet/ip_output.c | log | diff | annotate | |
src/sys/netinet/ipsec_input.c | log | diff | annotate | |
message |
Instead of implementing IPv4 header checksum creation everywhere, introduce in_hdr_cksum_out(). It is used like in_proto_cksum_out(). OK claudio@ |
date | 2023-05-13T13:35:18Z | |||
---|---|---|---|---|
author | bluhm | |||
files | src/sys/netinet/tcp_output.c | log | diff | annotate |
src/sys/netmpls/mpls_input.c | log | diff | annotate | |
src/sys/netmpls/mpls_output.c | log | diff | annotate | |
message |
Instead of implementing IPv4 header checksum creation everywhere, introduce in_hdr_cksum_out(). It is used like in_proto_cksum_out(). OK claudio@ |
date | 2023-05-13T16:27:59Z | |||
---|---|---|---|---|
author | bluhm | |||
files | src/sys/netinet6/nd6.c | log | diff | annotate |
message |
Finally remove the kernel lock from IPv6 neighbor discovery. ND6 entries in rt_llinfo are protected either by exclusive netlock or the ND6 mutex. The performance critical lookup path in nd6_resolve() uses shared netlock, but is not lockless. In contrast to ARP it grabs the mutex also in the common case. tested by Hrvoje Popovski; with and OK kn@ |
date | 2023-05-13T23:15:28Z | |||
---|---|---|---|---|
author | dv | |||
files | src/sys/dev/vmm/vmm.c | log | diff | annotate |
src/sys/dev/vmm/vmm.h | log | diff | annotate | |
message |
vmm(4)/vmd(8): switch to anonymous shared mappings. While splitting out emulated virtio network and block devices into separate processes, I originally used named mappings via shm_mkstemp(3). While this functionally achieved the desired result, it had two unintended consequences: 1) tearing down a vm process and its child processes required excessive locking as the guest memory was tied into the VFS layer. 2) it was observed by mlarkin@ that actions in other parts of the VFS layer could cause some of the guest memory to flush to storage, possibly filling /tmp. This commit adds a new vmm(4) ioctl dedicated to allowing a process request the kernel share a mapping of guest memory into its own vm space. This requires an open fd to /dev/vmm (requiring root) and both the "vmm" and "proc" pledge(2) promises. In addition, the caller must know enough about the original memory ranges to reconstruct them to make the vm's ranges. Tested with help from Mischa Peters. ok mlarkin@ |