Re: PCU panic on V240
"J. Hannken-Illjes" <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.sparc64 |
|---|---|
| Message-ID | <[email protected]> |
On Dec 6, 2013, at 12:56 PM, Takeshi Nakayama <[email protected]> wrote: >>>> "J. Hannken-Illjes" <[email protected]> wrote > >> Running -current on a Sparc V240 I get a diagnostic assertion running >> the script attached: >> >> panic: kernel diagnostic assertion "!cpu_intr_p()" failed: file "/work/build/src/sys/kern/subr_xcall.c", line 351 > : > : >> This is the high priority xcall from subr_pcu.c and >> curcpu()->ci_idepth is zero. >> >> What is going wrong here? > > There is some trick to handle ci_idepth in the case of softint. > > In locore.s::softint_fastintr, decrease ci_idepth before calling > softint handlers then increase ci_idepth. But it seems that there is > a chance to interrupt SOFTINT_SERIAL while handling other SOFTINT_*, > and ci_idepth is increased in the meantime. <snip> > So, does the attached patch fix the panic? Yes, it does. Please commit :-) -- J. Hannken-Illjes - [email protected] - TU Braunschweig (Germany)