On Tue, Feb 02, 2016 at 01:53:55PM -0600, Michael Welling wrote:
> I found the following message while booting the IMX6 Quad with a 3.18.20 
> based kernel.
> 
> [    0.229171]
> [    0.229186] =================================
> [    0.229195] [ INFO: inconsistent lock state ]
> [    0.229207] 3.18.20 #1 Not tainted
> [    0.229215] ---------------------------------
> [    0.229224] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
> [    0.229236] swapper/0/0 [HC0[0]:SC0[0]:HE1:SE1] takes:
> [    0.229246]  (std_spinlock_raw(&rq->lock)){?.-...}, at: [<8004adc8>] 
> finish_task_switch+0x48/0x148
> [    0.229286] {IN-HARDIRQ-W} state was registered at:
> [    0.229295]   [<800654bc>] lock_acquire+0x88/0xa4
> [    0.229321]   [<8074ad50>] _raw_spin_lock+0x38/0x48
> [    0.229345]   [<8004e220>] scheduler_tick+0x3c/0xd4
> [    0.229364]   [<8007cba8>] update_process_times+0x5c/0x68
> [    0.229390]   [<8007cc10>] update_root_process_times+0x5c/0x60
> [    0.229406]   [<8008ac10>] tick_periodic+0x3c/0xf4
> [    0.229422]   [<8008aeb8>] tick_handle_periodic+0x30/0x90
> [    0.229436]   [<8001688c>] twd_handler+0x40/0x54
> [    0.229456]   [<80071cfc>] handle_percpu_devid_irq+0x6c/0xe8
> [    0.229480]   [<8006ea40>] generic_handle_irq+0x30/0x44
> [    0.229496]   [<8006ed70>] __handle_domain_irq+0x70/0xd4
> [    0.229510]   [<8000f9c8>] handle_IRQ+0x24/0x28
> [    0.229531]   [<8001bec8>] __ipipe_do_IRQ+0x2c/0x38
> [    0.229554]   [<800a132c>] __ipipe_do_sync_stage+0x2a0/0x2e8
> [    0.229579]   [<800a1490>] ipipe_unstall_root+0x48/0x58
> [    0.229594]   [<8074b034>] _raw_spin_unlock_irq+0x30/0x34
> [    0.229612]   [<8004ae10>] finish_task_switch+0x90/0x148
> [    0.229626]   [<80745e7c>] __schedule+0x204/0x5ec
> [    0.229641]   [<8074629c>] schedule+0x38/0x84
> [    0.229655]   [<8074a294>] schedule_timeout+0x128/0x180
> [    0.229671]   [<80746e2c>] wait_for_common+0xa0/0x15c
> [    0.229685]   [<80746f7c>] wait_for_completion_killable+0x18/0x30
> [    0.229700]   [<80046880>] kthread_create_on_node+0xec/0x19c
> [    0.229718]   [<800404c4>] create_worker+0xa0/0x170
> [    0.229741]   [<8004325c>] workqueue_cpu_up_callback+0x3e0/0x4ac
> [    0.229759]   [<800477f4>] notifier_call_chain+0x4c/0x8c
> [    0.229779]   [<80047910>] __raw_notifier_call_chain+0x1c/0x24
> [    0.229793]   [<8002ca98>] _cpu_up+0xbc/0x184
> [    0.229809]   [<8002cbd0>] cpu_up+0x70/0x9c
> [    0.229823]   [<809e9a1c>] smp_init+0xa4/0xb8
> [    0.229844]   [<809c5d84>] kernel_init_freeable+0x78/0x1d8
> [    0.229860]   [<8073f7e8>] kernel_init+0x10/0xf4
> [    0.229881]   [<8000f0c8>] ret_from_fork+0x18/0x30
> [    0.229899] irq event stamp: 2454
> [    0.229908] hardirqs last  enabled at (2453): [<8008dcf8>] 
> tick_nohz_idle_exit+0x164/0x1fc
> [    0.229928] hardirqs last disabled at (2454): [<8074af20>] 
> _raw_spin_lock_irq+0x20/0x54
> [    0.229944] softirqs last  enabled at (2448): [<8002f61c>] 
> _local_bh_enable+0x2c/0x60
> [    0.229963] softirqs last disabled at (2447): [<8002ffdc>] 
> irq_enter+0x64/0x84
> [    0.229981]
> [    0.229981] other info that might help us debug this:
> [    0.229992]  Possible unsafe locking scenario:
> [    0.229992]
> [    0.230001]        CPU0
> [    0.230009]        ----
> [    0.230015]   lock(std_spinlock_raw(&rq->lock));
> [    0.230031]   <Interrupt>
> [    0.230038]     lock(std_spinlock_raw(&rq->lock));
> [    0.230052]
> [    0.230052]  *** DEADLOCK ***
> [    0.230052]
> [    0.230066] 1 lock held by swapper/0/0:
> [    0.230073]  #0:  (std_spinlock_raw(&rq->lock)){?.-...}, at: [<8004adc8>] 
> finish_task_switch+0x48/0x148
> [    0.230105]
> [    0.230105] stack backtrace:
> [    0.230121] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.18.20 #1
> [    0.230130] Backtrace:
> [    0.230157] [<80012af4>] (dump_backtrace) from [<80012d00>] 
> (show_stack+0x18/0x1c)
> [    0.230166]  r6:80a5d11c r5:00000000 r4:00000000 r3:00000000
> [    0.230201] [<80012ce8>] (show_stack) from [<80743e9c>] 
> (dump_stack+0x8c/0xa4)
> [    0.230222] [<80743e10>] (dump_stack) from [<80062008>] 
> (print_usage_bug+0x1d8/0x2cc)
> [    0.230230]  r6:80a42708 r5:80bcf710 r4:80a422b0 r3:00000002
> [    0.230265] [<80061e30>] (print_usage_bug) from [<800622e0>] 
> (mark_lock+0x1e4/0x6cc)
> [    0.230273]  r9:be080000 r8:00000000 r7:80a422b0 r6:00000002 r5:80a42708 
> r4:80061580
> [    0.230313] [<800620fc>] (mark_lock) from [<80062840>] 
> (mark_held_locks+0x78/0xa0)
> [    0.230322]  r10:80a52e18 r9:be080000 r8:00000002 r7:00000000 r6:80a422b0 
> r5:80a42708
> [    0.230353]  r4:00000000 r3:0000000c
> [    0.230378] [<800627c8>] (mark_held_locks) from [<800628e4>] 
> (trace_hardirqs_on_caller+0x7c/0x1e4)
> [    0.230386]  r8:00000002 r7:80013874 r6:00000001 r5:80a422b0 r4:80a36008 
> r3:80a36000
> [    0.230426] [<80062868>] (trace_hardirqs_on_caller) from [<80062a60>] 
> (trace_hardirqs_on+0x14/0x18)
> [    0.230434]  r7:80a37e6c r6:ffffffff r5:20000113 r4:8074b004
> [    0.230468] [<80062a4c>] (trace_hardirqs_on) from [<80013874>] 
> (__ipipe_fast_svc_irq_exit+0x4/0x18)
> The kernel otherwise appears to be functional.
> How do I fix this?

Disable CONFIG_TRACE_IRQFLAGS. This means disabling CONFIG_LOCKDEP too.

-- 
                                            Gilles.
https://click-hack.org

_______________________________________________
Xenomai mailing list
[email protected]
http://xenomai.org/mailman/listinfo/xenomai

Reply via email to