git: kernel - refactor vm_page busy
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Oct 18 09:49:24 PDT 2017
commit bc0aa189232f6ec6bb245aef2b91ed26a1a72459
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Tue Oct 17 23:25:24 2017 -0700
kernel - refactor vm_page busy
* Move PG_BUSY, PG_WANTED, PG_SBUSY, and PG_SWAPINPROG out of m->flags.
* Add m->busy_count with PBUSY_LOCKED, PBUSY_WANTED, PBUSY_SWAPINPROG,
and PBUSY_MASK (for the soft-busy count).
* Add support for acquiring a soft-busy count without a hard-busy.
This requires that there not already be a hard-busy. The purpose
of this is to allow a vm_page to be 'locked' in a shared manner
via the soft-busy for situations where we only intend to read from
it.
Summary of changes:
sys/dev/drm/drm_vm.c | 3 +-
sys/dev/drm/i915/i915_gem.c | 6 +-
sys/dev/drm/ttm/ttm_bo_vm.c | 2 +-
sys/kern/vfs_bio.c | 6 +-
sys/kern/vfs_cluster.c | 3 +-
sys/vm/device_pager.c | 4 +-
sys/vm/swap_pager.c | 46 +++++----
sys/vm/vm_contig.c | 21 ++--
sys/vm/vm_fault.c | 68 ++++++++++---
sys/vm/vm_map.c | 2 +-
sys/vm/vm_mmap.c | 3 +-
sys/vm/vm_page.c | 234 ++++++++++++++++++++++++++++----------------
sys/vm/vm_page.h | 102 +++++++------------
sys/vm/vm_page2.h | 32 +++++-
sys/vm/vm_pageout.c | 9 +-
sys/vm/vm_swap.c | 3 +-
sys/vm/vm_swapcache.c | 3 +-
sys/vm/vnode_pager.c | 4 +-
18 files changed, 334 insertions(+), 217 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bc0aa189232f6ec6bb245aef2b91ed26a1a72459
--
DragonFly BSD source repository
More information about the Commits
mailing list