DragonFly BSD
DragonFly commits List (threaded) for 2010-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - TMPFS - Bug fixing pass - paging to/from swap, vnode recycling


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 13 Feb 2010 02:00:56 -0800 (PST)

commit d89ce96a0788eaec175450e82a898f3764b99441
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sat Feb 13 01:58:02 2010 -0800

    kernel - TMPFS - Bug fixing pass - paging to/from swap, vnode recycling
    
    * vm_page_set_validdirty() needs to flag the underlying object or
      the vfsync() code for the vnode will not know that its dirty.
    
    * Any paging activity has to sync to swap because the kernel marks the
      VM pages as clean afterwords even if we [re]dirty them during the I/O.
    
      Testing the uio for UIO_NOCOPY is sufficient to detect when a tmpfs_write()
      is due to VM paging or not.
    
      This fixes vnode recycling - where the data is forced out to swap, and
      later can be paged back in, as well as paging due to memory pressure.

Summary of changes:
 sys/vfs/tmpfs/tmpfs_vnops.c |  109 ++++++++++++------------------------------
 sys/vm/vm_page.c            |    2 +
 2 files changed, 33 insertions(+), 78 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d89ce96a0788eaec175450e82a898f3764b99441


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]