Port-sparc64 archive

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

Re: PCU panic on V240



On Dec 6, 2013, at 12:56 PM, Takeshi Nakayama <tn%catvmics.ne.jp@localhost> 
wrote:

>>>> "J. Hannken-Illjes" <hannken%eis.cs.tu-bs.de@localhost> 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 - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)



Home | Main Index | Thread Index | Old Index