kernel - Simplify umtx_sleep and umtx_wakeup support
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 15 Oct 2017 17:54:59 +0000 (10:54 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 16 Oct 2017 18:30:23 +0000 (11:30 -0700)
commit31efdff0873efcd437dc814d7de1c4bf1fc1f61f
tree1eab5e19d5c165861248f293a897b8dd54e8596a
parenta458ee25215ec8589dc19895eaade47ba8e97978
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.
sys/kern/kern_fork.c
sys/kern/kern_umtx.c
sys/vm/vm_fault.c
sys/vm/vm_page.c
sys/vm/vm_page.h
sys/vm/vm_page2.h