Subject: Re: SIR Reset with todays sources
To: Martin Husemann <martin@duskware.de>
From: Tobias Nygren <tnn+nbsd@nygren.pp.se>
List: port-sparc64
Date: 03/24/2007 22:28:15
Juergen Hannken-Illjes wrote:
[...]
> At least `curcpu() == CPUINFO_VA->ci_self' is bogus.
> 0x13f2d20 is at pmap::ctx_free
>
Hi everyone,
I suspect these SIRs are caused by an as-of-yet unknown concurrency
problem in the pmap module. This patch is mindboggling and might be
special magic that only works on my setup, but I haven't had any SIR
resets so far. Without this I don't even get past fsck.
Index: pmap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc64/sparc64/pmap.c,v
retrieving revision 1.187
diff -u -r1.187 pmap.c
--- pmap.c 12 Mar 2007 18:18:28 -0000 1.187
+++ pmap.c 24 Mar 2007 21:19:04 -0000
@@ -1846,6 +1846,7 @@
if (pm == pmap_kernel()) {
return;
}
+ DELAY(20000);
stxa(CTX_SECONDARY, ASI_DMMU, 0);
pm->pm_refs = 0;
ctx_free(pm);