git: kernel - SWAP CACHE part 11/many - Write improvements, fix backing store free
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Feb 5 16:27:00 PST 2010
commit 5ac041170e70cbebc44f0b51f3a236298b9d353c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Feb 5 16:21:10 2010 -0800
kernel - SWAP CACHE part 11/many - Write improvements, fix backing store free
* Improve write staging by not counting VM pages which already have a
swap assignment when doing the limited scan of the INACTIVE VM page
queue.
As the swapcache starts to perform more and more disk I/O goes to it,
radically increasing the data rate and also radically increasing the
rate at which pages are shuffled between VM page queues. At some
point enough data is coming from the swapcache that vm.swapcache.maxlaunder
is unable to keep up even when sufficient burst bandwidth is available.
This led to an asymptotic caching curve. After the fix the caching
curve is linear (for data sets which fit in the swapcache).
* The swapcache associated with meta-data (VCHR vnodes) was not being
destroyed on umount. Adjust a conditional such that it is properly
destroyed. Otherwise stale data might be retained across e.g. a
media change.
Summary of changes:
sys/vm/vm_object.c | 6 +++---
sys/vm/vm_swapcache.c | 9 +++++++--
2 files changed, 10 insertions(+), 5 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5ac041170e70cbebc44f0b51f3a236298b9d353c
--
DragonFly BSD source repository
More information about the Commits
mailing list