Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/powerpc/oea Stop returning while PMAP_LOCK() (= KER...
details: https://anonhg.NetBSD.org/src/rev/574b3bb303d3
branches: trunk
changeset: 933908:574b3bb303d3
user: rin <rin%NetBSD.org@localhost>
date: Sun May 31 10:49:39 2020 +0000
description:
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 ade46dc2f3db -r 574b3bb303d3 sys/arch/powerpc/oea/pmap.c
--- a/sys/arch/powerpc/oea/pmap.c Sun May 31 09:59:37 2020 +0000
+++ b/sys/arch/powerpc/oea/pmap.c Sun May 31 10:49:39 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.95 2018/01/27 23:07:36 chs Exp $ */
+/* $NetBSD: pmap.c,v 1.96 2020/05/31 10:49:39 rin 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.95 2018/01/27 23:07:36 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.96 2020/05/31 10:49:39 rin Exp $");
#define PMAP_NOOPNAMES
@@ -991,6 +991,7 @@
}
source_pvo = pvo;
if (exec && !PVO_EXECUTABLE_P(source_pvo)) {
+ PMAP_UNLOCK();
return 0;
}
if (victim_pvo != NULL)
@@ -2162,6 +2163,7 @@
return true;
}
}
+ PMAP_UNLOCK();
return false;
#elif defined (PMAP_OEA64_BRIDGE)
if (va >= SEGMENT_LENGTH)
Home |
Main Index |
Thread Index |
Old Index