git: kernel - Optimize vm_page_wakeup(), vm_page_hold(), vm_page_unhold()
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Mar 26 22:32:06 PDT 2019
commit 16b1cc2d7d7a49c5814426aec69bdb2191cd8d20
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Mar 23 14:11:42 2019 -0700
kernel - Optimize vm_page_wakeup(), vm_page_hold(), vm_page_unhold()
* vm_page_wakeup() does not need to acquire the vm_page spin-lock.
The caller holding the page busied is sufficient.
* vm_page_hold() does not need to acquire the vm_page spin-lock as
the caller is expected to hold the page busied, soft-busied,
or stabilized via an interlock (such as the vm_object interlock).
* vm_page_unhold() only needs to acquire the vm_page spin-lock on
the 1->0 transition of m->hold_count.
Summary of changes:
sys/vm/vm_page.c | 119 +++++++++++++++++++++++-----------------------------
sys/vm/vm_pageout.c | 10 ++---
2 files changed, 57 insertions(+), 72 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/16b1cc2d7d7a49c5814426aec69bdb2191cd8d20
--
DragonFly BSD source repository
More information about the Commits
mailing list