Re: [Cbe-oss-dev] ps3: BUG: spinlock lockup on CPU#1, udevd/505 or modprobe/633

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Linux Kernel Development <linux-kernel@...>
Cc: Cell Broadband Engine OSS Development <cbe-oss-dev@...>, Bob McGwier <rwmcgwier@...>
Date: Monday, September 15, 2008 - 12:57 pm

On Fri, 12 Sep 2008, Geert Uytterhoeven wrote:

Some more results of my investigation...


The common part of all logs is that some code calls lock_kernel() to acquire
the BKL....


... while it's already taken by __blkdev_put().


The BKL is never released by __blkdev_put(), as the IPI initiated by
smp_call_function_single() never seems to finish. So it keeps on spinning in
csd_flag_wait().

Adding debug code to the PS3-specific IPI message_pass() routine
ps3_smp_message_pass() seems to cause the problem to go away.

I have lockdep enabled (as most other locking debug stuff), but CONFIG_PREEMPT
is not set.

As Bob McGwier sees it on PS3, but not on the QS21 or Mercury Cell blades, it
looks like the problem is really PS3-specific.

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ps3: BUG: spinlock lockup on CPU#1, udevd/505 or modprobe/633, Geert Uytterhoeven, (Fri Sep 12, 11:02 am)
Re: [Cbe-oss-dev] ps3: BUG: spinlock lockup on CPU#1, udevd/..., Geert Uytterhoeven, (Mon Sep 15, 12:57 pm)