Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/i386/i386 Remove XXXSMP comment and explain why no ...



details:   https://anonhg.NetBSD.org/src/rev/3036d632d204
branches:  trunk
changeset: 779158:3036d632d204
user:      jym <jym%NetBSD.org@localhost>
date:      Mon May 07 02:15:34 2012 +0000

description:
Remove XXXSMP comment and explain why no TLB shootdown is required here.

diffstat:

 sys/arch/i386/i386/db_memrw.c |  23 +++++++----------------
 1 files changed, 7 insertions(+), 16 deletions(-)

diffs (46 lines):

diff -r a591bf10613d -r 3036d632d204 sys/arch/i386/i386/db_memrw.c
--- a/sys/arch/i386/i386/db_memrw.c     Mon May 07 02:12:35 2012 +0000
+++ b/sys/arch/i386/i386/db_memrw.c     Mon May 07 02:15:34 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: db_memrw.c,v 1.26 2012/05/07 02:12:35 jym Exp $        */
+/*     $NetBSD: db_memrw.c,v 1.27 2012/05/07 02:15:34 jym Exp $        */
 
 /*-
  * Copyright (c) 1996, 2000 The NetBSD Foundation, Inc.
@@ -49,7 +49,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.26 2012/05/07 02:12:35 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.27 2012/05/07 02:15:34 jym Exp $");
 
 #include "opt_xen.h"
 
@@ -161,22 +161,13 @@
                 */
                pmap_pte_set(pte, oldpte);
                pmap_pte_flush();
-#if 0 
+               pmap_update_pg(pgva);
                /*
-                * XXXSMP Not clear if this is needed for 100% correctness.
+                * MULTIPROCESSOR: no shootdown required as all other CPUs
+                * should be in CPUF_PAUSE state and will not cache the PTE
+                * with the write access set.
                 */
-               {
-                       int cpumask = 0;
-                       /*
-                        * shoot down in case other CPU mistakenly caches page.
-                        */
-                       pmap_tlb_shootdown(pmap_kernel(), pgva, 0, PG_G);
-                       pmap_tlb_shootwait();
-               }
-#else
-               pmap_update_pg(pgva);
-#endif
-               
+
        } while (size != 0);
 }
 



Home | Main Index | Thread Index | Old Index