[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Kernel panic in "subr_xcall.c"
On Mon, 19 Oct 2009 09:05:43 +0100, Matthias Scheler
> On Mon, Oct 19, 2009 at 07:28:26AM +0100, Matthias Scheler wrote:
>> Here is the stack trace of the panic (copied of the console):
>> I wonder whether it is related this change:
> Ok, I think I found the problem:
> 1.) pool_cache_invalidate() calls xc_broadcast() with ci = NULL.
> 2.) xc_broadcast() calls xc_lowpri() with ci = NULL.
> 3.) xc_lowpri() iterates over all CPUs but doesn't fine any
> running CPU and therefore doesn't schedule any cross calls.
> 4.) The KASSERT() at the end of loop in xc_lowpri() triggers
> because "xc_tailp" and "xc_headp" are both zero.
Looks like we hit the same problem:
Apparently, the check against ncpu is not enough, the kernel ends calling
pmap_growkernel() with ncpu > 1 but without any CPU considered as "running"
(SPCF_RUNNING flag set).
Which element in the boot process requires a call to pmap_growkernel()
early during boot? (full stack trace if possible).
Main Index |
Thread Index |