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