mmap(2), munmap(2), and mprotect(2) unlocked
by from OpenBSD Journal on (#65KC1)
Martin Pieuchot (mpi@) hascommitteda change unlocking themmap(2),munmap(2),andmprotect(2)system calls:
CVSROOT:/cvsModule name:srcChanges by:mpi@cvs.openbsd.org2022/11/08 04:05:57Modified files:sys/kern : syscalls.master Log message:Mark mmap(2), munmap(2) and mprotect(2) as NOLOCK.Accesses to data structures used by these syscalls are serialized by theVM map lock with the exception of file mappings which are still protectedby 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@
The improvement in workload performance canbe quite marked.Following Martin'srequest for testing,Mike Larkin (mlarkin@)reported build performance improvement of over 12%!