Author: alc Date: Wed Jun 24 04:45:03 2009 New Revision: 194806 URL: http://svn.freebsd.org/changeset/base/194806
Log: The bits set in a page's dirty mask are a subset of the bits set in its valid mask. Consequently, there is no need to perform a bit-wise and of the page's dirty and valid masks in order to determine which parts of a page are dirty and valid. Eliminate an unnecessary #include. Modified: head/sys/vm/vm_object.c head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_object.c ============================================================================== --- head/sys/vm/vm_object.c Wed Jun 24 02:01:16 2009 (r194805) +++ head/sys/vm/vm_object.c Wed Jun 24 04:45:03 2009 (r194806) @@ -787,7 +787,7 @@ vm_object_page_clean(vm_object_t object, continue; } vm_page_test_dirty(p); - if ((p->dirty & p->valid) == 0) { + if (p->dirty == 0) { if (--scanlimit == 0) break; ++tscan; @@ -874,7 +874,7 @@ again: } vm_page_test_dirty(p); - if ((p->dirty & p->valid) == 0) { + if (p->dirty == 0) { p->oflags &= ~VPO_CLEANCHK; continue; } @@ -947,7 +947,7 @@ vm_object_page_collect_flush(vm_object_t (tp->busy != 0)) break; vm_page_test_dirty(tp); - if ((tp->dirty & tp->valid) == 0) { + if (tp->dirty == 0) { tp->oflags &= ~VPO_CLEANCHK; break; } @@ -971,7 +971,7 @@ vm_object_page_collect_flush(vm_object_t (tp->busy != 0)) break; vm_page_test_dirty(tp); - if ((tp->dirty & tp->valid) == 0) { + if (tp->dirty == 0) { tp->oflags &= ~VPO_CLEANCHK; break; } @@ -999,7 +999,7 @@ vm_object_page_collect_flush(vm_object_t vm_pageout_flush(ma, runlen, pagerflags); for (i = 0; i < runlen; i++) { - if (ma[i]->valid & ma[i]->dirty) { + if (ma[i]->dirty) { pmap_remove_write(ma[i]); ma[i]->oflags |= VPO_CLEANCHK; @@ -1946,7 +1946,7 @@ again: ("vm_object_page_remove: page %p is fictitious", p)); if (clean_only && p->valid) { pmap_remove_write(p); - if (p->valid & p->dirty) + if (p->dirty) continue; } pmap_remove_all(p); Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Wed Jun 24 02:01:16 2009 (r194805) +++ head/sys/vm/vm_pageout.c Wed Jun 24 04:45:03 2009 (r194806) @@ -105,8 +105,6 @@ __FBSDID("$FreeBSD$"); #include <vm/vm_extern.h> #include <vm/uma.h> -#include <machine/mutex.h> - /* * System initialization */ @@ -350,7 +348,7 @@ more: break; } vm_page_test_dirty(p); - if ((p->dirty & p->valid) == 0 || + if (p->dirty == 0 || p->queue != PQ_INACTIVE || p->wire_count != 0 || /* may be held by buf cache */ p->hold_count != 0) { /* may be undergoing I/O */ @@ -378,7 +376,7 @@ more: break; } vm_page_test_dirty(p); - if ((p->dirty & p->valid) == 0 || + if (p->dirty == 0 || p->queue != PQ_INACTIVE || p->wire_count != 0 || /* may be held by buf cache */ p->hold_count != 0) { /* may be undergoing I/O */ _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"