Messages in this thread | | | Date | Tue, 26 Aug 2008 01:24:58 -0700 | From | Andrew Morton <> | Subject | Re: [-mmotm] BUG: scheduling while atomic: swapper |
| |
On Tue, 26 Aug 2008 10:11:24 +0200 "Dmitry Adamushko" <dmitry.adamushko@gmail.com> wrote:
> 2008/8/26 Ryan Hope <rmh3093@gmail.com>: > > BUG: scheduling while atomic: swapper/1/0x00000002 > > Modules linked in: > > Pid: 1, comm: swapper Tainted: G W 2.6.27-rc4-zenmmotm1 #4 > > [<c057a0c7>] schedule+0x287/0x6d0 > > [<c03672e6>] vsnprintf+0x3a6/0x6c0 > > [<c057a92d>] schedule_timeout+0x7d/0xb0 > > [<c021e0c8>] __wake_up+0x38/0x50 > > [<c057a74a>] wait_for_common+0x8a/0x130 > > [<c0220ab0>] default_wake_function+0x0/0x10 > > [<c0237743>] call_usermodehelper_exec+0xc3/0xf0 > > [<c0362ede>] kobject_uevent_env+0x37e/0x3a0 > > [<c03d5921>] device_add+0x551/0x630 > > [<c03d5ac3>] device_create_vargs+0xb3/0xd0 > > [<c06ccc47>] microcode_intel_module_init+0x0/0x39 > > It doesn't look like Linus's tree... there is no > microcode_intel_module_init() in .27+. So what is it?
mmotm is linux-next plus -mm stuff
> Anyway, your trace might be explained by a bug that has been already > fixed in Ingo's -tip. > > Here is the commit: > http://git.kernel.org/?p=linux/kernel/git/x86/linux-2.6-tip.git;a=commit;h=8343ef2437c599d30568e6b5a257a40bf2f4902b
Yes, an unbalanced get_cpu() would explain it.
However that patch is already in current -mm. Ryan, can you please check to see if it's in the version you tested? The "fixed" version looks like this:
static int __init microcode_intel_module_init(void) { struct cpuinfo_x86 *c = &cpu_data(get_cpu());
if (c->x86_vendor == X86_VENDOR_INTEL) return microcode_init(µcode_intel_ops, THIS_MODULE); else return -ENODEV; }
| |