2006-08-21 05:23:33

by Yao Fei Zhu

[permalink] [raw]
Subject: BUG: sleeping function called from invalid context at arch/powerpc/kernel/rtas.c:463

Hi, all

Online and offline cpus in 2.6.18-rc4/PPC64 will trigger Call Trace
like this,

[root@blade11 ~]# echo 0 > /sys/devices/system/cpu/cpu0/online
[root@blade11 ~]# dmesg -c
BUG: sleeping function called from invalid context at
arch/powerpc/kernel/rtas.c:463
in_atomic():0, irqs_disabled():1
Call Trace:
[C0000000725EB9C0] [C00000000000FB70] .show_stack+0x68/0x1b0 (unreliable)
[C0000000725EBA60] [C000000000053EB4] .__might_sleep+0xd8/0xf4
[C0000000725EBAE0] [C00000000001D5D8] .rtas_busy_delay+0x20/0x5c
[C0000000725EBB70] [C00000000001DC00] .rtas_set_indicator+0x6c/0xcc
[C0000000725EBC10] [C000000000049130] .xics_migrate_irqs_away+0x6c/0x20c
[C0000000725EBCD0] [C000000000048EEC] .pSeries_cpu_disable+0x98/0xb4
[C0000000725EBD50] [C000000000029A24] .__cpu_disable+0x44/0x58
[C0000000725EBDC0] [C000000000082030] .take_cpu_down+0x10/0x38
[C0000000725EBE40] [C000000000090000] .do_stop+0x16c/0x20c
[C0000000725EBEE0] [C000000000078EBC] .kthread+0x128/0x178
[C0000000725EBF90] [C0000000000271DC] .kernel_thread+0x4c/0x68
cpu 0 (hwid 0) Ready to die...
[root@blade11 ~]# echo 1 > /sys/devices/system/cpu/cpu0/online
[root@blade11 ~]# dmesg -c
BUG: sleeping function called from invalid context at
arch/powerpc/kernel/rtas.c:463
in_atomic():0, irqs_disabled():1
Call Trace:
[C000000000573BC0] [C00000000000FB70] .show_stack+0x68/0x1b0 (unreliable)
[C000000000573C60] [C000000000053EB4] .__might_sleep+0xd8/0xf4
[C000000000573CE0] [C00000000001D5D8] .rtas_busy_delay+0x20/0x5c
[C000000000573D70] [C00000000001DC00] .rtas_set_indicator+0x6c/0xcc
[C000000000573E10] [C000000000049320] .xics_setup_cpu+0x50/0x64
[C000000000573E80] [C0000000000486A8] .smp_xics_setup_cpu+0x2c/0x9c
[C000000000573F00] [C00000000002A4D4] .start_secondary+0x9c/0x168
[C000000000573F90] [C0000000000083BC] .start_secondary_prolog+0xc/0x10
Processor 0 found.



2006-08-21 05:38:38

by Nathan Lynch

[permalink] [raw]
Subject: Re: BUG: sleeping function called from invalid context at arch/powerpc/kernel/rtas.c:463

Hi,

Yao Fei Zhu wrote:
> Hi, all
>
> Online and offline cpus in 2.6.18-rc4/PPC64 will trigger Call Trace
> like this,
>
> [root@blade11 ~]# echo 0 > /sys/devices/system/cpu/cpu0/online
> [root@blade11 ~]# dmesg -c
> BUG: sleeping function called from invalid context at
> arch/powerpc/kernel/rtas.c:463
> in_atomic():0, irqs_disabled():1
> Call Trace:
> [C0000000725EB9C0] [C00000000000FB70] .show_stack+0x68/0x1b0 (unreliable)
> [C0000000725EBA60] [C000000000053EB4] .__might_sleep+0xd8/0xf4
> [C0000000725EBAE0] [C00000000001D5D8] .rtas_busy_delay+0x20/0x5c
> [C0000000725EBB70] [C00000000001DC00] .rtas_set_indicator+0x6c/0xcc
> [C0000000725EBC10] [C000000000049130] .xics_migrate_irqs_away+0x6c/0x20c
> [C0000000725EBCD0] [C000000000048EEC] .pSeries_cpu_disable+0x98/0xb4
> [C0000000725EBD50] [C000000000029A24] .__cpu_disable+0x44/0x58
> [C0000000725EBDC0] [C000000000082030] .take_cpu_down+0x10/0x38
> [C0000000725EBE40] [C000000000090000] .do_stop+0x16c/0x20c
> [C0000000725EBEE0] [C000000000078EBC] .kthread+0x128/0x178
> [C0000000725EBF90] [C0000000000271DC] .kernel_thread+0x4c/0x68


The fix for this was committed to Linus's tree after 2.6.18-rc4; look for

[POWERPC] Fix might-sleep warning on removing cpus

in the change history.

2006-08-21 07:37:27

by Yao Fei Zhu

[permalink] [raw]
Subject: Re: BUG: sleeping function called from invalid context at arch/powerpc/kernel/rtas.c:463

Nathan Lynch wrote:

>Hi,
>
>Yao Fei Zhu wrote:
>
>
>>Hi, all
>>
>>Online and offline cpus in 2.6.18-rc4/PPC64 will trigger Call Trace
>>like this,
>>
>>[root@blade11 ~]# echo 0 > /sys/devices/system/cpu/cpu0/online
>>[root@blade11 ~]# dmesg -c
>>BUG: sleeping function called from invalid context at
>>arch/powerpc/kernel/rtas.c:463
>>in_atomic():0, irqs_disabled():1
>>Call Trace:
>>[C0000000725EB9C0] [C00000000000FB70] .show_stack+0x68/0x1b0 (unreliable)
>>[C0000000725EBA60] [C000000000053EB4] .__might_sleep+0xd8/0xf4
>>[C0000000725EBAE0] [C00000000001D5D8] .rtas_busy_delay+0x20/0x5c
>>[C0000000725EBB70] [C00000000001DC00] .rtas_set_indicator+0x6c/0xcc
>>[C0000000725EBC10] [C000000000049130] .xics_migrate_irqs_away+0x6c/0x20c
>>[C0000000725EBCD0] [C000000000048EEC] .pSeries_cpu_disable+0x98/0xb4
>>[C0000000725EBD50] [C000000000029A24] .__cpu_disable+0x44/0x58
>>[C0000000725EBDC0] [C000000000082030] .take_cpu_down+0x10/0x38
>>[C0000000725EBE40] [C000000000090000] .do_stop+0x16c/0x20c
>>[C0000000725EBEE0] [C000000000078EBC] .kthread+0x128/0x178
>>[C0000000725EBF90] [C0000000000271DC] .kernel_thread+0x4c/0x68
>>
>>
>
>
>The fix for this was committed to Linus's tree after 2.6.18-rc4; look for
>
>[POWERPC] Fix might-sleep warning on removing cpus
>
>in the change history.
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>
Yes, tested the fix, thanks.