Module Name: src
Committed By: jym
Date: Mon May 7 02:15:34 UTC 2012
Modified Files:
src/sys/arch/i386/i386: db_memrw.c
Log Message:
Remove XXXSMP comment and explain why no TLB shootdown is required here.
To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/i386/i386/db_memrw.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/i386/i386/db_memrw.c
diff -u src/sys/arch/i386/i386/db_memrw.c:1.26 src/sys/arch/i386/i386/db_memrw.c:1.27
--- src/sys/arch/i386/i386/db_memrw.c:1.26 Mon May 7 02:12:35 2012
+++ src/sys/arch/i386/i386/db_memrw.c Mon May 7 02:15:34 2012
@@ -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 @@ db_write_text(vaddr_t addr, size_t size,
*/
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);
}