Mark mmap(2), munmap(2) and mprotect(2) as NOLOCK.
authormpi <mpi@openbsd.org>
Tue, 8 Nov 2022 11:05:57 +0000 (11:05 +0000)
committermpi <mpi@openbsd.org>
Tue, 8 Nov 2022 11:05:57 +0000 (11:05 +0000)
commit144c372198457c9076428dc0a595d456b829878b
tree265ecd1f9c2f7ec488e73b6e5e44b20233095c5d
parent55487e9c78817352f2bb740191924a3ed1372faa
Mark mmap(2), munmap(2) and mprotect(2) as NOLOCK.

Accesses to data structures used by these syscalls are serialized by the
VM map lock with the exception of file mappings which are still protected
by the KERNEL_LOCK().

Unlocking this set of syscalls improves most of userland workloads.

Tested by many including robert@ (since 2 years), mlarkin@, kn@, sdk@,
jca@, aoyama@, naddy@, Scott Bennett and others. Thanks to all!

Joint work with kn@.

ok robert@, aja@, kettenis@, kn@, deraadt@, beck@
sys/kern/syscalls.master