Source-Changes-HG archive

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

[src/netbsd-7]: src/sys/arch/powerpc/oea Pull up following revision(s) (reque...



details:   https://anonhg.NetBSD.org/src/rev/a11af919ba35
branches:  netbsd-7
changeset: 934215:a11af919ba35
user:      martin <martin%NetBSD.org@localhost>
date:      Sun Jun 07 12:26:22 2020 +0000

description:
Pull up following revision(s) (requested by rin in ticket #1732):

        sys/arch/powerpc/oea/pmap.c: revision 1.96

Stop returning while PMAP_LOCK() (= KERNEL_LOCK(1, NULL)) is held.
Kernel freeze with heavy load is significantly mitigated (fixed?),
in which I could not even enter DDB from console.

XXX
There is still inconsistency in usage of two PVO pools.
I will send-pr later.

XXX
pullup to netbsd-[987]

diffstat:

 sys/arch/powerpc/oea/pmap.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r 91cea9e9f1b6 -r a11af919ba35 sys/arch/powerpc/oea/pmap.c
--- a/sys/arch/powerpc/oea/pmap.c       Thu May 07 12:09:26 2020 +0000
+++ b/sys/arch/powerpc/oea/pmap.c       Sun Jun 07 12:26:22 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.92 2014/08/10 17:49:04 joerg Exp $  */
+/*     $NetBSD: pmap.c,v 1.92.2.1 2020/06/07 12:26:22 martin Exp $     */
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -63,7 +63,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.92 2014/08/10 17:49:04 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.92.2.1 2020/06/07 12:26:22 martin Exp $");
 
 #define        PMAP_NOOPNAMES
 
@@ -990,6 +990,7 @@
                        }
                        source_pvo = pvo;
                        if (exec && !PVO_EXECUTABLE_P(source_pvo)) {
+                               PMAP_UNLOCK();
                                return 0;
                        }
                        if (victim_pvo != NULL)
@@ -2153,6 +2154,7 @@
                                return true;
                        }
                }
+               PMAP_UNLOCK();
                return false;
 #elif defined (PMAP_OEA64_BRIDGE)
        if (va >= SEGMENT_LENGTH)



Home | Main Index | Thread Index | Old Index