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"

Reply via email to