[meta-freescale] BUG: scheduling while atomic in _cpu_down

Tudor Florea Tudor.Florea at enea.com
Fri Jan 16 16:35:54 PST 2015


Hi Zhenhua,

Thank you for your reply.

The issue occurs for Low Latency Desktop and Basic RT preemption model. The issue is not reproducible with No Preemption, Voluntary Preemption or Fully Preemptible Kernel models.

The issue only occurs on daisy branch (3.8.13-rt9+ kernel version) and does not occurs on dizzy branch (3.12.19-rt30+ kernel version). However migrating from daisy branch might not be a feasible solution for the project involved.

Regards,
  Tudor.

> -----Original Message-----
> From: zhenhua.luo at freescale.com [mailto:zhenhua.luo at freescale.com]
> Sent: Friday, January 16, 2015 04:25
> To: Tudor Florea
> Cc: meta-freescale at yoctoproject.org; Scott Wood; Priyanka Jain
> Subject: RE: BUG: scheduling while atomic in _cpu_down
> 
> Hi Tudor,
> 
> Can you please check if the issue can be reproduced in dizzy branch which
> includes the latest QorIQ SDK recipes?  Can the issue be reproduced without
> PREEMPT__LL?
> 
> Please try to avoid word-wrapping logs.  It's hard to read.
> 
> 
> Best Regards,
> 
> Zhenhua
> 
> > -----Original Message-----
> > From: meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-
> > bounces at yoctoproject.org] On Behalf Of Tudor Florea
> > Sent: Tuesday, January 13, 2015 7:40 AM
> > To: meta-freescale at yoctoproject.org
> > Subject: [meta-freescale] BUG: scheduling while atomic in _cpu_down
> >
> > Hi,
> > The "reboot" command produce the  exception below on Linux-qoriq, low
> > latency preemption on daisy branch.
> > Is this a known issue? Does anyone have a  hint to fix this?
> > Thank you very much.
> >   Regards,
> >    Tudor
> >
> > # uname -a
> > Linux m2020 3.8.13-rt9+ #2 SMP PREEMPT Wed Jan 7 12:10:54 CET 2015 ppc
> > GNU/Linux
> >
> > #zcat /proc/config.gz | grep PREEMPT
> > CONFIG_TREE_PREEMPT_RCU=y
> > CONFIG_PREEMPT_RCU=y
> > CONFIG_PREEMPT=y
> > CONFIG_HAVE_PREEMPT_LAZY=y
> > # CONFIG_PREEMPT_NONE is not set
> > # CONFIG_PREEMPT_VOLUNTARY is not set
> > CONFIG_PREEMPT__LL=y
> > # CONFIG_PREEMPT_RTB is not set
> > # CONFIG_PREEMPT_RT_FULL is not set
> > CONFIG_PREEMPT_COUNT=y
> > CONFIG_DEBUG_PREEMPT=y
> > CONFIG_PREEMPT_TRACER=y
> > # CONFIG_PREEMPT_OFF_HIST is not set
> > Rebooting... Disabling non-boot CPUs ...
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[< (null)>] (null)
> >
> > Call Trace:
> > [ee471aa0] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471af0]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471b10] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471c30] [c0a79728]
> > schedule_timeout+0x360/0x3b4 [ee471ca0] [c0a7a9e0]
> > wait_for_common+0x120/0x228 [ee471cf0] [c00c4e20]
> > kthread_create_on_node+0x9c/0x15c [ee471d60] [c01b80b4]
> > _cpu_down+0x6dc/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471b10] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471b60]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471b80] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471ca0] [c0a79728]
> > schedule_timeout+0x360/0x3b4 [ee471d10] [c0a7a9e0]
> > wait_for_common+0x120/0x228 [ee471d60] [c01b7e20]
> > _cpu_down+0x448/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471a70] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471ac0]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471ae0] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471c00] [c0a79728]
> > schedule_timeout+0x360/0x3b4 [ee471c70] [c0a7a9e0]
> > wait_for_common+0x120/0x228 [ee471cc0] [c00b5710]
> > flush_work+0x1e0/0x2cc [ee471d10] [c0a97a14]
> > workqueue_cpu_down_callback+0x54/0x70
> > [ee471d30] [c0a857f8] notifier_call_chain+0xc8/0x124 [ee471d60]
> [c01b7e44]
> > _cpu_down+0x46c/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471ad0] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471b20]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471b40] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471c60] [c0a79728]
> > schedule_timeout+0x360/0x3b4 [ee471cd0] [c0a7a9e0]
> > wait_for_common+0x120/0x228 [ee471d20] [c00c5dd0]
> > kthread_park+0x188/0x18c [ee471d40] [c00d7390]
> > smpboot_park_threads+0x90/0xb8 [ee471d60] [c01b7e64]
> > _cpu_down+0x48c/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471b10] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471b60]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471b80] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471ca0] [c0a79728]
> > schedule_timeout+0x360/0x3b4 [ee471d10] [c0a7a9e0]
> > wait_for_common+0x120/0x228 [ee471d60] [c01b7ea8]
> > _cpu_down+0x4d0/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471ae0] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471b30]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471b50] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471c70] [c0a79728]
> > schedule_timeout+0x360/0x3b4 [ee471ce0] [c0a7a9e0]
> > wait_for_common+0x120/0x228 [ee471d30] [c00c5a40]
> > kthread_stop+0x324/0x354 [ee471d60] [c01b7eb0]
> _cpu_down+0x4d8/0x7bc
> > [ee471dd0] [c0084e8c] disable_nonboot_cpus+0x108/0x1fc [ee471e10]
> > [c00a9960] kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c]
> > sys_reboot+0x12c/0x24c [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471b20] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471b70]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471b90] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471cb0] [c0133814]
> > wait_for_stop_done+0x40/0x8c [ee471cc0] [c0133e00]
> > __stop_cpus+0x6c/0x94 [ee471cf0] [c01342bc] stop_cpus+0x4c/0x70
> > [ee471d10] [c0134554] __stop_machine+0x1d0/0x1e4 [ee471d60]
> [c01b7ecc]
> > _cpu_down+0x4f4/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > BUG: scheduling while atomic: reboot/2286/0x00000002 Modules linked in:
> > Preemption disabled at:[<  (null)>]   (null)
> >
> > Call Trace:
> > [ee471b30] [c000d3c4] show_stack+0x180/0x2c4 (unreliable) [ee471b80]
> > [c00dc594] __schedule_bug+0xf0/0x150 [ee471ba0] [c0a7ad4c]
> > __schedule+0xdc/0x1018 [ee471cc0] [c0a7962c]
> > schedule_timeout+0x264/0x3b4 [ee471d30] [c009d720] msleep+0x34/0x50
> > [ee471d40] [c001ac34] generic_cpu_die+0x48/0xc4 [ee471d60] [c01b7f34]
> > _cpu_down+0x55c/0x7bc [ee471dd0] [c0084e8c]
> > disable_nonboot_cpus+0x108/0x1fc [ee471e10] [c00a9960]
> > kernel_restart+0x28/0xbc [ee471e20] [c00a9b4c] sys_reboot+0x12c/0x24c
> > [ee471f40] [c0018380] ret_from_syscall+0x0/0x3c
> > --- Exception: c01 at 0xff06a6c
> >     LR = 0x10000c24
> > Restarting system.
> > --
> > _______________________________________________
> > meta-freescale mailing list
> > meta-freescale at yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-freescale


More information about the meta-freescale mailing list