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 Pull up fix from -current:



details:   https://anonhg.NetBSD.org/src/rev/f19dade71f83
branches:  sommerfeld_i386mp_1
changeset: 482401:f19dade71f83
user:      sommerfeld <sommerfeld%NetBSD.org@localhost>
date:      Wed May 23 04:37:25 2001 +0000

description:
Pull up fix from -current:
In kern/12554 workaround in pmap_page_remove, don't forget to unmap
(and unlock) the other pmap's pte's before continuing on to the next
pmap.  Avoids pmap lock leaks, manifested as warning messages for
LOCKDEBUG and deadlocks with MULTIPROCESSOR.

diffstat:

 sys/arch/i386/i386/pmap.c |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (17 lines):

diff -r baed98d3f21e -r f19dade71f83 sys/arch/i386/i386/pmap.c
--- a/sys/arch/i386/i386/pmap.c Wed May 23 03:13:36 2001 +0000
+++ b/sys/arch/i386/i386/pmap.c Wed May 23 04:37:25 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.83.2.38 2001/05/13 00:45:03 sommerfeld Exp $        */
+/*     $NetBSD: pmap.c,v 1.83.2.39 2001/05/23 04:37:25 sommerfeld Exp $        */
 
 /*
  *
@@ -2587,6 +2587,7 @@
                            VM_PAGE_TO_PHYS(pg), pg->wire_count);
 #endif
                        prevptr = &pve->pv_next;
+                       pmap_unmap_ptes(pve->pv_pmap);  /* unlocks pmap */
                        continue;
                }
 #endif /* kern/12554 */



Home | Main Index | Thread Index | Old Index