git: kernel - Simplify umtx_sleep and umtx_wakeup support
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Oct 16 11:30:37 PDT 2017
commit 31efdff0873efcd437dc814d7de1c4bf1fc1f61f
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Oct 15 10:54:59 2017 -0700
kernel - Simplify umtx_sleep and umtx_wakeup support
* Rip out the vm_page_action / vm_page_event() API. This code was
fairly SMP unfriendly and created serious bottlenecks with large
threaded user programs using mutexes.
* Replace with a simpler mechanism that simply wakes up any UMTX
domain tsleeps after a fork().
* Implement a 4uS spin loop in umtx_sleep() similar to what the
pipe code does.
Summary of changes:
sys/kern/kern_fork.c | 22 +++++++++
sys/kern/kern_umtx.c | 97 +++++++++++++++++++++++++++----------
sys/vm/vm_fault.c | 15 +++---
sys/vm/vm_page.c | 133 ---------------------------------------------------
sys/vm/vm_page.h | 21 +-------
sys/vm/vm_page2.h | 18 -------
6 files changed, 104 insertions(+), 202 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/31efdff0873efcd437dc814d7de1c4bf1fc1f61f
--
DragonFly BSD source repository
More information about the Commits
mailing list