commit 55a501e06652d608b1acb746b4ba7a6a887874e4
Author: Matthew Dillon <dil...@apollo.backplane.com>
Date:   Wed Apr 22 19:24:13 2020 -0700

    tmpfs - Change paging behavior, fix two directory-entry races
    
    * Change the paging behavior for vfs.tmpfs.bufcache_mode.
    
      These changes try to reduce unnecessary tmpfs flushes to swap when
      the pageout daemon is able to locate sufficient clean VM pages.
      The pageout daemon can still page tmpfs data to swap via its normal
      operation, but tmpfs itself will not force write()s to pipeline to
      swap unless memory pressure is severe.
    
      0 tmpfs write()s are pipelined to swap via the buffer cache only
        if the VM system is below the minimum free page count.
    
        (this is the new default)
    
      1 tmpfs write()s are pipelined to swap via the buffer cache when
        the VM system is paging.
    
      2 Same as (1) but be more aggressive about releasing buffer cache
        buffers.
    
      3 tmpfs_write()s are always pipelined to swap via the buffer cache,
        regardless.
    
    * Fix tmpfs file creation, hard-linking, and rename to ensure that the
      new file is not created in a deleted directory.  We must lock the
      directory node around existing tests and add checks that were missing.
    
      Also remove a few unnecessary recursive locks.

Summary of changes:
 sys/vfs/tmpfs/tmpfs.h        |  4 ++--
 sys/vfs/tmpfs/tmpfs_subr.c   | 33 +++++++++++++++++----------
 sys/vfs/tmpfs/tmpfs_vfsops.c |  2 +-
 sys/vfs/tmpfs/tmpfs_vnops.c  | 54 ++++++++++++++++++++++++++++++--------------
 4 files changed, 61 insertions(+), 32 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/55a501e06652d608b1acb746b4ba7a6a887874e4


-- 
DragonFly BSD source repository

Reply via email to