CPU code hang与spi driver 中schedule问题
Hi,各位大侠,请问如下log是CPU code死掉导致spi driver里面schedule出问题,还是由于spi driver里面的schedule出问题导致cpu code 挂掉呢?
===
INFO: rcu_sched detected stall on CPU 0 (t=6000 jiffies)
Backtrace:
[<840114ec>] (dump_backtrace+0x0/0x10c) from [<843e960c>] (dump_stack+0x18/0x1c)
r6:8453a080 r5:84552240 r4:84dce674 r3:84534294
[<843e95f4>] (dump_stack+0x0/0x1c) from [<840811bc>] (__rcu_pending+0x88/0x38c)
[<84081134>] (__rcu_pending+0x0/0x38c) from [<8408224c>] (rcu_check_callbacks+0xe8/0x17c)
[<84082164>] (rcu_check_callbacks+0x0/0x17c) from [<84042fec>] (update_process_times+0x40/0x64)
r8:7146ca98 r7:00000000 r6:a1117440 r5:00000000 r4:9d29e000
r3:00010000
[<84042fac>] (update_process_times+0x0/0x64) from [<840641f0>] (tick_sched_timer+0x9c/0xdc)
r7:84dce4a0 r6:9d29f9d8 r5:9d29e000 r4:84dce598
[<84064154>] (tick_sched_timer+0x0/0xdc) from [<8405756c>] (__run_hrtimer+0xf4/0x1c8)
r9:9d29f920 r8:7146c400 r6:84dce4d8 r5:84dce4a0 r4:84dce598
[<84057478>] (__run_hrtimer+0x0/0x1c8) from [<840582c4>] (hrtimer_interrupt+0x124/0x288)
[<840581a0>] (hrtimer_interrupt+0x0/0x288) from [<840139c0>] (twd_handler+0x28/0x30)
[<84013998>] (twd_handler+0x0/0x30) from [<8407e8b4>] (handle_percpu_devid_irq+0xd0/0x150)
r4:0000001d r3:84013998
[<8407e7e4>] (handle_percpu_devid_irq+0x0/0x150) from [<8407ae64>] (generic_handle_irq+0x34/0x48)
[<8407ae30>] (generic_handle_irq+0x0/0x48) from [<8400e5e0>] (handle_IRQ+0x80/0xc0)
[<8400e560>] (handle_IRQ+0x0/0xc0) from [<840081d0>] (asm_do_IRQ+0x10/0x14)
r5:20000113 r4:84068fe8
[<840081c0>] (asm_do_IRQ+0x0/0x14) from [<8400d738>] (__irq_svc+0x38/0x120)
Exception stack(0x9d29f9d8 to 0x9d29fa20)
f9c0: 00000002 00000002
f9e0: 00000002 00000001 84dd8540 9d29fa54 84dd8540 008a2000 84dd8548 00000001
fa00: 00000001 9d29fa4c 00000002 9d29fa20 8401b038 84068fe8 20000113 ffffffff
[<84068f70>] (generic_exec_single+0x0/0x8c) from [<84069174>] (smp_call_function_single+0x178/0x1a8)
[<84068ffc>] (smp_call_function_single+0x0/0x1a8) from [<840693f8>] (smp_call_function_many+0x13c/0x27c)
[<840692bc>] (smp_call_function_many+0x0/0x27c) from [<8406956c>] (smp_call_function+0x34/0x40)
[<84069538>] (smp_call_function+0x0/0x40) from [<8401a190>] (__new_context+0xa8/0xe8)
[<8401a0e8>] (__new_context+0x0/0xe8) from [<843ea128>] (__schedule+0x5ec/0x724)
r8:984b9b80 r7:9d29e000 r6:a1117440 r5:84dd0060 r4:b019cc60
r3:00010fb7
[<843e9b3c>] (__schedule+0x0/0x724) from [<843ea37c>] (schedule+0x78/0x7c)
[<843ea304>] (schedule+0x0/0x7c) from [<843ea798>] (schedule_timeout+0x20/0x278)
[<843ea778>] (schedule_timeout+0x0/0x278) from [<843e99e8>] (wait_for_common+0xe4/0x18c)
[<843e9904>] (wait_for_common+0x0/0x18c) from [<843e9b38>] (wait_for_completion+0x18/0x1c)
[<843e9b20>] (wait_for_completion+0x0/0x1c) from [<8426a1ec>] (spi_transfer+0x378/0x57c)
[<84269e74>] (spi_transfer+0x0/0x57c) from [<84268920>] (__spi_async+0xa0/0xb4)
[<84268880>] (__spi_async+0x0/0xb4) from [<84268c70>] (spi_async_locked+0x34/0x4c)
r6:9d29fd00 r5:beddb0ec r4:bea67e00 r3:60000113
[<84268c3c>] (spi_async_locked+0x0/0x4c) from [<84268d44>] (__spi_sync+0x60/0xa0)
r7:00000000 r6:beddb000 r5:bea67e00 r4:9d29fd00
[<84268ce4>] (__spi_sync+0x0/0xa0) from [<84268db0>] (spi_sync+0x14/0x18)
r7:9d29fd78 r6:9d29fd78 r5:00000042 r4:9d29fd00
[<84268d9c>] (spi_sync+0x0/0x18) from [<839e408c>] (max14830_rw+0x78/0x98 )
[<839e4014>] (max14830_rw+0x0/0x98 ) from [<839f7234>] (m915_rx.clone.1+0x74/0xf8 )
r8:bc9d9000 r7:a32fdc00 r6:9d29fd76 r5:839f7a04 r4:00000021
[<839f71c0>] (m915_rx.clone.1+0x0/0xf8 ) from [<839f7380>] (irq_handle+0xc8/0x220 )
r7:a7bff3b4 r6:84594120 r5:839e49cc r4:9d29ff1e
[<839f72b8>] (irq_handle+0x0/0x220 ) from [<8404ce08>] (process_one_work+0x298/0x444)
[<8404cb70>] (process_one_work+0x0/0x444) from [<8404f1b8>] (worker_thread+0x204/0x350)
[<8404efb4>] (worker_thread+0x0/0x350) from [<840533c8>] (kthread+0x90/0x98)
[<84053338>] (kthread+0x0/0x98) from [<84037c9c>] (do_exit+0x0/0x6f8)
r6:84037c9c r5:84053338 r4:91a3bee4
=== 本帖最后由 jian9158101 于 2015-07-02 15:12 编辑
自己顶一下!
1. SPI BUS所接的外部设备每隔固定时间会跟CPU做交互,即通过GPIO发送interrupt给CPU,而后CPU透过SPI去取数据
2. CPU loading很重,用Uptime来看,基本三项数据都在9左右
页:
[1]