kernel - SWAP CACHE part 14/many - Add more features, man page
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 8 Feb 2010 05:28:59 +0000 (21:28 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 8 Feb 2010 05:28:59 +0000 (21:28 -0800)
commit3ffc70511385ab4c73f3c10100a711d2e15ec376
tree74c2afe02a955c35de2a5be401bf21f840a64cb1
parent9401d887c6e235993e605c286992a3c41abc882c
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).
share/man/man8/Makefile
share/man/man8/swapcache.8 [new file with mode: 0644]
sys/vm/swap_pager.c
sys/vm/vm_swapcache.c