Re: cpu hotplug sleeping from invalid context

From: Nathan Lynch
Date: Tue May 23 2006 - 15:54:05 EST


Dave Jones wrote:
> (2.6.17rc4-git9)
>
> echo 0 > /sys/devices/system/cpu/cpu1/online
> echo 1 > /sys/devices/system/cpu/cpu1/online
>
> on my dual-core notebook gets me this:
>
> CPU 1 is now offline
> SMP alternatives: switching to UP code
> SMP alternatives: switching to SMP code
> Booting processor 1/1 eip 3000
> CPU 1 irqstacks, hard=c0799000 soft=c0779000
> Initializing CPU#1
> BUG: sleeping function called from invalid context at mm/page_alloc.c:945
> in_atomic():0, irqs_disabled():1
> <c04500ce> __alloc_pages+0x32/0x2a8
> <c0425577> printk+0x1f/0xaf
> <c060674d> schedule+0xa21/0xa8a
> <c04503a6> get_zeroed_page+0x31/0x3d
> <c040a117> cpu_init+0x10a/0x323
> <c04176f5> start_secondary+0xc/0x3ef
> <c0417afa> cpu_exit_clear+0x22/0x43

I think it's caused by arch/i386/kernel/cpu/common.c::cpu_init() doing
get_zeroed_page(GFP_KERNEL).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/