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

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Feb 13 02:02:09 PST 2010


commit d89ce96a0788eaec175450e82a898f3764b99441
Author: Matthew Dillon <dillon at 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





More information about the Commits mailing list