Port-arm archive

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

Re: [ARM32] Possible PMAP_KMPAGE = 0 produces lock collision




On Jul 18, 2008, at 4:46 AM, Andy Shevchenko wrote:

Hello.

Possible the patch "Default PMAP_KMPAGE to 0 unless it's been
previously defined by <machine/pmap.h>"
produces lock collision when LOCKDEBUG option is set.

With this patch (means the behaviour is changed w/o it) the kernel
panics at very start (and I can't start even debugger):

init subsystems: stacks vectors undefined page pmap done.
initarm done.
Reader / writer lock error: lockdebug_wantlock: locking against myself

lock address : 0x0000000080542b8c type     :     sleep/adaptive
initialized  : 0x00000000803afb78
shared holds :                  0 exclusive:                  1
shares wanted:                  0 exclusive:                  1
current cpu  :                  0 last held:                  0
current lwp  : 0x000000008051da80 last held: 0x000000008051da80
last locked  : 0x00000000803b1264 unlocked : 0x00000000803b2a48
owner/count  : 0x000000008051da80 flags    : 0x000000000000000c

Turnstile chain at 0x80551540.
=> No active turnstile for this lock.

panic: LOCKDEBUG

you have the updated arm/include/arm32/pmap.h which defines PMAP_KMPAGE?
If it's not defined, the kernel will definitely panic.  Does the kernel
work if LOCKDEBUG isn't set?

If you have a JTAG debugger, use a breakpoint on __kernassert to catch
these.


Home | Main Index | Thread Index | Old Index