![]() | |||||||||||
Messages in this thread |
On Tue, 01 Apr 2008 21:32:14 PDT, Andrew Morton said: > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.25-rc8/2.6.25-rc8-mm1/ Been seeing these crop up once in a while - can take hours after a reboot before I see the first one, but once I see one, I'm likely to see more, at a frequency of anywhere from ~5seconds to ~10 minutes between BUG msgs. BUG: scheduling while atomic: swapper/0/0xffffffff Pid: 0, comm: swapper Tainted: P 2.6.25-rc8-mm1 #4 Call Trace: [<ffffffff8020b2f4>] ? default_idle+0x0/0x74 [<ffffffff8022be19>] __schedule_bug+0x5d/0x61 [<ffffffff80552aea>] schedule+0x11a/0x9e4 [<ffffffff805536ce>] ? preempt_schedule+0x3c/0xaa [<ffffffff802480f1>] ? hrtimer_forward+0x82/0x96 [<ffffffff804600a4>] ? cpuidle_idle_call+0x0/0xd5 [<ffffffff8020b2f4>] ? default_idle+0x0/0x74 [<ffffffff8020b2e0>] cpu_idle+0xf6/0x10a [<ffffffff80540cb2>] rest_init+0x86/0x8a Eventually, I end up with a basically hung system, and need to alt-sysrq-B. Yes, I know it's tainted, and it's possible the root cause is a self-inflicted buggy module - but the traceback above seems odd. Did some of my code manage to idle the CPU while is_atomic was set, or is the path from cpu_idle on down doing something it shouldn't be? (I admit being confused - if my code was the source of the is_atomic error, shouldn't it have been caught on the *previous* call to schedule - the one that ran through all the queues and decided we should invoke idle? [unhandled content-type:application/pgp-signature] | ||||||||||
| Last update: 2008-04-07 08:25 [from the cache] ©2003-2008 | |||||||||||