Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/sommerfeld_i386mp_1]: src/sys/arch/i386/i386 Make sure to go to splipi()...
details: https://anonhg.NetBSD.org/src/rev/81fb68ab04c5
branches: sommerfeld_i386mp_1
changeset: 482388:81fb68ab04c5
user: thorpej <thorpej%NetBSD.org@localhost>
date: Fri May 04 01:32:58 2001 +0000
description:
Make sure to go to splipi() when holding the shootdown queue lock.
diffstat:
sys/arch/i386/i386/pmap.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diffs (29 lines):
diff -r c658a15d93f9 -r 81fb68ab04c5 sys/arch/i386/i386/pmap.c
--- a/sys/arch/i386/i386/pmap.c Wed May 02 13:12:46 2001 +0000
+++ b/sys/arch/i386/i386/pmap.c Fri May 04 01:32:58 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.83.2.33 2001/04/30 16:23:11 sommerfeld Exp $ */
+/* $NetBSD: pmap.c,v 1.83.2.34 2001/05/04 01:32:58 thorpej Exp $ */
/*
*
@@ -594,6 +594,7 @@
struct pmap_tlb_shootdown_q *pq;
struct cpu_info *ci, *self = curcpu();
CPU_INFO_ITERATOR cii;
+ int s;
#endif
tlbflush(); /* flush TLB on current processor */
@@ -610,9 +611,11 @@
continue;
if (pmap_is_active(pmap, ci->ci_cpuid)) {
pq = &pmap_tlb_shootdown_q[ci->ci_cpuid];
+ s = splipi();
simple_lock(&pq->pq_slock);
pq->pq_flushu++;
simple_unlock(&pq->pq_slock);
+ splx(s);
i386_send_ipi(ci, I386_IPI_TLB);
}
}
Home |
Main Index |
Thread Index |
Old Index