DragonFly commits List (threaded) for 2010-02
git: kernel - TMPFS - Bug fixing pass - paging to/from swap, vnode recycling
Author: Matthew Dillon <email@example.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(-)
DragonFly BSD source repository