I have a board built based on beaglebone.
I get soft lockup when I use serial communication trough usb/serial adapter (ftdi).
The soft lockup seems to reproduced when use the ondemand cpu governor, but not the performance governor.
My questions is.
How to investigate on this issue?
when exactly __irq_svc is called? is it called on swi interrupt? or also can be called for hwi?
the __irq_svc call itself from the first exception. is this normal?
Why the kernel shows two exceptions?
Thank you
[ 312.326756] BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:3:620]
[ 312.335857] Modules linked in:
[ 312.340607] irq event stamp: 1393689
[ 312.345784] hardirqs last enabled at (1393688): [<c03e966c>] __usb_hcd_giveback_urb+0xa8/0xe8
[ 312.358193] hardirqs last disabled at (1393689): [<c0654754>] __irq_svc+0x34/0x7c
[ 312.368961] softirqs last enabled at (1375352): [<c06206d0>] __rpc_execute+0xdc/0x4d0
[ 312.380349] softirqs last disabled at (1375375): [<c0054720>] do_softirq+0x78/0x80
[ 312.391323]
[ 312.393871] CPU: 0 PID: 620 Comm: kworker/0:3 Not tainted 3.12.10 #18
[ 312.403199] Workqueue: events od_dbs_timer
[ 312.409357] task: dd93a180 ti: ddb68000 task.ti: ddb68000
[ 312.417148] PC is at __usb_hcd_giveback_urb+0xac/0xe8
[ 312.424477] LR is at mark_held_locks+0x6c/0x130
[ 312.431098] pc : [<c03e9670>] lr : [<c00a5eac>] psr: 20010113
[ 312.431098] sp : ddb69ba8 ip : ddb69b40 fp : ddb69bbc
[ 312.447051] r10: ffffffed r9 : ddb68008 r8 : c0a81358
[ 312.454516] r7 : ddacf33c r6 : ddacf35c r5 : 60010113 r4 : dc90ccc0
[ 312.463728] r3 : dd93a180 r2 : 00000000 r1 : 00000110 r0 : 00000001
[ 312.472972] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 312.483260] Control: 10c5387d Table: 9c9a8019 DAC: 00000017
[ 312.491486] CPU: 0 PID: 620 Comm: kworker/0:3 Not tainted 3.12.10 #18
[ 312.500731] Workqueue: events od_dbs_timer
[ 312.507323] [<c001d810>] (unwind_backtrace+0x0/0x138) from [<c0019b24>] (show_stack+0x20/0x24)
[ 312.519687] [<c0019b24>] (show_stack+0x20/0x24) from [<c064c5cc>] (dump_stack+0x20/0x28)
[ 312.531270] [<c064c5cc>] (dump_stack+0x20/0x28) from [<c0016a54>] (show_regs+0x2c/0x34)
[ 312.542814] [<c0016a54>] (show_regs+0x2c/0x34) from [<c00b93a8>] (watchdog_timer_fn+0x12c/0x164)
[ 312.555373] [<c00b93a8>] (watchdog_timer_fn+0x12c/0x164) from [<c007a3c0>] (__run_hrtimer+0x8c/0x4b0)
[ 312.568473] [<c007a3c0>] (__run_hrtimer+0x8c/0x4b0) from [<c007b1c4>] (hrtimer_interrupt+0x12c/0x2e4)
[ 312.581601] [<c007b1c4>] (hrtimer_interrupt+0x12c/0x2e4) from [<c002f810>] (omap2_gp_timer_interrupt+0x34/0x44)
[ 312.595903] [<c002f810>] (omap2_gp_timer_interrupt+0x34/0x44) from [<c0092fd0>] (handle_irq_event_percpu+0x4c/0x400)
[ 312.610751] [<c0092fd0>] (handle_irq_event_percpu+0x4c/0x400) from [<c00933d0>] (handle_irq_event+0x4c/0x6c)
[ 312.624666] [<c00933d0>] (handle_irq_event+0x4c/0x6c) from [<c0095954>] (handle_level_irq+0x9c/0x104)
[ 312.637898] [<c0095954>] (handle_level_irq+0x9c/0x104) from [<c0092758>] (generic_handle_irq+0x38/0x4c)
[ 312.651387] [<c0092758>] (generic_handle_irq+0x38/0x4c) from [<c0016518>] (handle_IRQ+0x40/0x94)
[ 312.663945] [<c0016518>] (handle_IRQ+0x40/0x94) from [<c0008818>] (omap3_intc_handle_irq+0x70/0x84)
[ 312.676789] [<c0008818>] (omap3_intc_handle_irq+0x70/0x84) from [<c0654764>] (__irq_svc+0x44/0x7c)
[ 312.689296] Exception stack(0xddb69b60 to 0xddb69ba8)
[ 312.696746] 9b60: 00000001 00000110 00000000 dd93a180 dc90ccc0 60010113 ddacf35c ddacf33c
[ 312.708378] 9b80: c0a81358 ddb68008 ffffffed ddb69bbc ddb69b40 ddb69ba8 c00a5eac c03e9670
[ 312.719833] 9ba0: 20010113 ffffffff
[ 312.725252] [<c0654764>] (__irq_svc+0x44/0x7c) from [<c03e9670>] (__usb_hcd_giveback_urb+0xac/0xe8)
[ 312.738187] [<c03e9670>] (__usb_hcd_giveback_urb+0xac/0xe8) from [<c03ea284>] (usb_giveback_urb_bh+0x88/0xc0)
[ 312.752310] [<c03ea284>] (usb_giveback_urb_bh+0x88/0xc0) from [<c00550c4>] (tasklet_action+0x78/0xd0)
[ 312.765487] [<c00550c4>] (tasklet_action+0x78/0xd0) from [<c00542cc>] (__do_softirq+0x104/0x468)
[ 312.778054] [<c00542cc>] (__do_softirq+0x104/0x468) from [<c0054720>] (do_softirq+0x78/0x80)
[ 312.790142] [<c0054720>] (do_softirq+0x78/0x80) from [<c0054a9c>] (irq_exit+0xc8/0x110)
[ 312.801666] [<c0054a9c>] (irq_exit+0xc8/0x110) from [<c001651c>] (handle_IRQ+0x44/0x94)
[ 312.813167] [<c001651c>] (handle_IRQ+0x44/0x94) from [<c0008818>] (omap3_intc_handle_irq+0x70/0x84)
[ 312.826010] [<c0008818>] (omap3_intc_handle_irq+0x70/0x84) from [<c0654764>] (__irq_svc+0x44/0x7c)
[ 312.838503] Exception stack(0xddb69cd0 to 0xddb69d18)
[ 312.845845] 9cc0: 00001901 00000000 0000007f 0007ff7f
[ 312.857466] 9ce0: dd8103c0 dd8103c0 dd80fe40 00001900 00000019 00000001 ffffffed ddb69d4c
[ 312.869026] 9d00: 00000000 ddb69d18 c00449a8 c0044a00 20010013 ffffffff
[ 312.878722] [<c0654764>] (__irq_svc+0x44/0x7c) from [<c0044a00>] (omap3_noncore_dpll_set_rate+0x10c/0x57c)
[ 312.892555] [<c0044a00>] (omap3_noncore_dpll_set_rate+0x10c/0x57c) from [<c0482f70>] (clk_change_rate+0x70/0x110)
[ 312.907136] [<c0482f70>] (clk_change_rate+0x70/0x110) from [<c0483094>] (clk_set_rate+0x84/0xc4)
[ 312.919748] [<c0483094>] (clk_set_rate+0x84/0xc4) from [<c045801c>] (cpu0_set_target+0x1c4/0x4d8)
[ 312.932424] [<c045801c>] (cpu0_set_target+0x1c4/0x4d8) from [<c0451e20>] (__cpufreq_driver_target+0x8c/0xd0)
[ 312.946357] [<c0451e20>] (__cpufreq_driver_target+0x8c/0xd0) from [<c04557dc>] (od_check_cpu+0xb4/0xc4)
[ 312.959740] [<c04557dc>] (od_check_cpu+0xb4/0xc4) from [<c045705c>] (dbs_check_cpu+0xec/0x120)
[ 312.972065] [<c045705c>] (dbs_check_cpu+0xec/0x120) from [<c0455b24>] (od_dbs_timer+0x74/0x100)
[ 312.984535] [<c0455b24>] (od_dbs_timer+0x74/0x100) from [<c006ca40>] (process_one_work+0x1bc/0x68c)
[ 312.997465] [<c006ca40>] (process_one_work+0x1bc/0x68c) from [<c006dd6c>] (worker_thread+0x13c/0x3c8)
[ 313.010633] [<c006dd6c>] (worker_thread+0x13c/0x3c8) from [<c00766a0>] (kthread+0xb4/0xc0)
[ 313.022500] [<c00766a0>] (kthread+0xb4/0xc0) from [<c00155c8>] (ret_from_fork+0x14/0x20)
[ 313.039126] Kernel panic - not syncing: softlockup: hung tasks