git: kernel - SWAP CACHE part 14/many - Add more features, man page

Matthew Dillon dillon at
Sun Feb 7 21:41:29 PST 2010

commit 3ffc70511385ab4c73f3c10100a711d2e15ec376
Author: Matthew Dillon <dillon at>
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 mailing list