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); }