diff options
author | alc <alc@FreeBSD.org> | 2009-06-24 04:45:03 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2009-06-24 04:45:03 +0000 |
commit | 323707be16260ec873618e15958a9c1c33cf0e85 (patch) | |
tree | 9a246139c9719e94baba971fd5d4e5e6daa274d5 /sys/vm | |
parent | 98f843fb56b000a36a722a3ab781a68bda1bd65d (diff) | |
download | FreeBSD-src-323707be16260ec873618e15958a9c1c33cf0e85.zip FreeBSD-src-323707be16260ec873618e15958a9c1c33cf0e85.tar.gz |
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.
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_object.c | 12 | ||||
-rw-r--r-- | sys/vm/vm_pageout.c | 6 |
2 files changed, 8 insertions, 10 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 9e65cb4..61bf1e7 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -787,7 +787,7 @@ vm_object_page_clean(vm_object_t object, vm_pindex_t start, vm_pindex_t end, int 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 object, vm_page_t p, int curgeneration, (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 object, vm_page_t p, int curgeneration, (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 object, vm_page_t p, int curgeneration, 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); diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index ce790f8..b64215b 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -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 */ |