Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sparc64/sparc64 Update the DEBUG section at the tai...



details:   https://anonhg.NetBSD.org/src/rev/9a5f1c332e22
branches:  trunk
changeset: 784330:9a5f1c332e22
user:      hannken <hannken%NetBSD.org@localhost>
date:      Fri Jan 25 17:12:33 2013 +0000

description:
Update the DEBUG section at the tail of pmap_clear_modify().

Nothing prevents page modification after the modify bit was
cleared but before the DEBUG section checks pmap_is_modified(),
so remove this check.

For the same reason "modified" and "changed" may differ, so only
check "modified" implies "changed" here.

Ok: Matthew Green <mrg%netbsd.org@localhost>

diffstat:

 sys/arch/sparc64/sparc64/pmap.c |  12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diffs (38 lines):

diff -r 8eb09e30d606 -r 9a5f1c332e22 sys/arch/sparc64/sparc64/pmap.c
--- a/sys/arch/sparc64/sparc64/pmap.c   Fri Jan 25 14:20:57 2013 +0000
+++ b/sys/arch/sparc64/sparc64/pmap.c   Fri Jan 25 17:12:33 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.279 2013/01/03 09:40:55 martin Exp $        */
+/*     $NetBSD: pmap.c,v 1.280 2013/01/25 17:12:33 hannken Exp $       */
 /*
  *
  * Copyright (C) 1996-1999 Eduardo Horvath.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.279 2013/01/03 09:40:55 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.280 2013/01/25 17:12:33 hannken Exp $");
 
 #undef NO_VCACHE /* Don't forget the locked TLB in dostart */
 #define        HWREF
@@ -2577,17 +2577,13 @@
        pv_check();
        mutex_exit(&pmap_lock);
 #ifdef DEBUG
-       if (pmap_is_modified(pg)) {
-               printf("pmap_clear_modify(): %p still modified!\n", pg);
-               Debugger();
-       }
        DPRINTF(PDB_CHANGEPROT|PDB_REF, ("pmap_clear_modify: pg %p %s\n", pg,
            (changed ? "was modified" : "was not modified")));
-       if (modified != changed) {
+       if (modified && modified != changed) {
                printf("pmap_clear_modify: modified %d changed %d\n",
                       modified, changed);
                Debugger();
-       } else return (modified);
+       }
 #endif
        return (changed);
 }



Home | Main Index | Thread Index | Old Index