git: kernel - SWAP CACHE part 14/many - Add more features, man page
dillon at crater.dragonflybsd.org
Sun Feb 7 21:41:29 PST 2010
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Feb 7 21:28:59 2010 -0800
kernel - SWAP CACHE part 14/many - Add more features, man page
* Implement write clustering. Swapcache attempts to cluster writes
for optimal matching between swap and the buffer cache. This
also reduces the IOPS for writes by a factor 16. The SSD should
be able to do write combining and erasing more optimally as well.
* Add vm.swapcache.minburst
This ensures that curburst is allowed to recover sufficiently that
a nice good write burst can be done, once curburst hits 0. Otherwise
swapcache winds up doing tiny bursts which tend to fragment the cache.
* Add vm.swapcache.maxfilesize
If set to non-zero prevents swapcache from caching files larger than
the specified size. That is, swapcache will only cache smaller files.
This is experimental because there are issues caching small files
anyway (the vnodes get recycled too quickly).
* Allow vm.swapcache.curburst to be manually set larger than
vm.swapcache.maxburst, so the initial load-in can be different
from the maximum reburst.
* Adjust the code which deals with write errors on swap to ensure
that the backing store is destroyed (because it isn't a clean copy).
Summary of changes:
share/man/man8/Makefile | 1 +
share/man/man8/swapcache.8 | 236 ++++++++++++++++++++++++++++++++++++++++++++
sys/vm/swap_pager.c | 22 +++--
sys/vm/vm_swapcache.c | 184 +++++++++++++++++++++++++++-------
4 files changed, 398 insertions(+), 45 deletions(-)
create mode 100644 share/man/man8/swapcache.8
DragonFly BSD source repository
More information about the Commits