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
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]