Re: OMAP34xx
From: Luciano Coelho <hidden>
Date: 2012-02-16 07:52:27
Hi Kevin, On Wed, 2012-02-15 at 16:13 -0800, Kevin Hilman wrote:
On 02/15/2012 03:54 PM, Kevin Hilman wrote:quoted
Luciano Coelho[off-list ref] writes: [...]quoted
I just tried this on my Panda and I keep getting this kind of BUGs. It spams my console so much that is pretty much unusable: [ 336.172302] BUG: sleeping function called from invalid context at include/linux/freezer.h:46 [ 336.181213] in_atomic(): 0, irqs_disabled(): 128, pid: 1618, name: ntpd [ 336.181213] INFO: lockdep is turned off. [ 336.181213] irq event stamp: 0 [ 336.181213] hardirqs last enabled at (0): [< (null)>] (null) [ 336.201660] hardirqs last disabled at (0): [<c0042314>] copy_process+0x3ec/0x105c [ 336.209625] softirqs last enabled at (0): [<c0042314>] copy_process+0x3ec/0x105c [ 336.217498] softirqs last disabled at (0): [< (null)>] (null) [ 336.217498] [<c001e1e4>] (unwind_backtrace+0x0/0x148) from [<c0502c24>] (dump_stack+0x20/0x24) [ 336.232879] [<c0502c24>] (dump_stack+0x20/0x24) from [<c0077998>] (__might_sleep+0x130/0x134) [ 336.232879] [<c0077998>] (__might_sleep+0x130/0x134) from [<c0018998>] (do_signal+0x54/0x600) [ 336.250793] [<c0018998>] (do_signal+0x54/0x600) from [<c0018fa4>] (do_notify_resume+0x60/0x6c) [ 336.250793] [<c0018fa4>] (do_notify_resume+0x60/0x6c) from [<c00154e4>] (work_pending+0x24/0x28) I have also seen this in 3.3-rc3 (both on Panda (OMAP4460) and on Blaze (OMAP4430) boards) and I was hoping your tree would have the fix for it, but it doesn't. :( The device boots and seems to work otherwise, but this is annoying and looks shaky. I saw something related to this in another thread from a few months ago, and one patch proposal by Russell, but I didn't find any conclusion or any related patch queued up for upstream. Is there any solution for this? I use a tuned .config (attached) and not the one generated by omap2plus_defconfig (which I didn't try as vanilla).I see the same thing with your ~/.config, but I don't think this is OMAP specific. I suspect this will happen on any ARM platform that has CONFIG_DEBUG_ATOMIC_SLEEP=y.
Right. I always use CONFIG_DEBUG_ATOMIC_SLEEP. And yes, according to what I had seen, this was an ARM issue not only OMAP.
quoted
It appears to be a problem with the recently added audit support for ARM, since reverting the commit below makes this BUG go away.False alarm. reverting the audit commit didn't make the problem go away. It was gone only because I also disabled CONFIG_DEBUG_ATOMIC_SLEEP. :/ To debug this further, you might bisect it back to v3.2 because the problem isn't there in v3.2
When I was looking a bit further, I found this patch: a0acae0e "freezer: unexport refrigerator() and update try_to_freeze() slightly", which seems to be the one introducing the bug. It's quite far back and quite large, so reverting it is not that easy. I may try to do some bisecting later today, but I'm not sure I'll have the time. -- Cheers, Luca.