commit 4d289d94806fbaf2b1d0d81acf036409bdd0e735 Author: Matthew Dillon <dil...@apollo.backplane.com> Date: Thu Aug 16 11:42:25 2012 -0700
kernel - Fix incorrect dirty/reprotect code in pageout * vm_object_page_collect_flush() was trying to re-protect VM pages that were still marked dirty after pageout I/O was initiated without owning the BUSY bit on the page. This operation could race whatever I/O was going on and multiple issues. Remove the re-protect. Just don't do it. It's an unnecessary operation. We still re-set PG_CLEANCHK on the page and that should be fine insofar as the pageout daemon goes. * Note that the pageout_flush code protects the VM pages properly (to read-only) prior to initiating I/O . * Should fix bug #2350 * Might be related to the wire-count bug considering that we were messing with the page's pmap without owning the BUSY bit. Small chance. Summary of changes: sys/vm/vm_object.c | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4d289d94806fbaf2b1d0d81acf036409bdd0e735 -- DragonFly BSD source repository