Hi All, I am having a PPC system running Windriver linux. System is restarting because of watchdog. System was restated because no scheduling took place for 15.7 seconds. I want to figure out which function/ISR/routine was the kernel executing when this softlockup happened and at what place was the execution going. The NIP (next instruction pointer) reg. is not giving the symbol name as the "switch" module that created the problem was dynamically loaded. Can anybody help in figuring out the exact routine that may be behind the lockup. I am getting the following OOPS. cpu0: jiffies: 1903983223, hrtime: 16746998586843980, 15756 ms between scheduler_tick() calls 31/12/1969 EST 19:00:00, BUG: soft lockup detected on CPU#0! 31/12/1969 EST 19:00:00, NIP: C0041FAC LR: C0042320 SP: C71AFB10 REGS: c71afa60 TRAP: 0901 Tainted: P 31/12/1969 EST 19:00:00, MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 31/12/1969 EST 19:00:00, TASK = cef2c880[1224] 'switch' THREAD: c71ae000 31/12/1969 EST 19:00:00, Last syscall: 54 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, GPR00: 31/12/1969 EST 19:00:00, C017D5E4 31/12/1969 EST 19:00:00, C71AFB10 31/12/1969 EST 19:00:00, CEF2C880 31/12/1969 EST 19:00:00, 00000020 31/12/1969 EST 19:00:00, C71AFC20 31/12/1969 EST 19:00:00, D04C7F80 31/12/1969 EST 19:00:00, C036A774 31/12/1969 EST 19:00:00, 0000001C 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, GPR08: 31/12/1969 EST 19:00:00, C036BF48 31/12/1969 EST 19:00:00, 00000000 31/12/1969 EST 19:00:00, 0000F10C 31/12/1969 EST 19:00:00, 00000000 31/12/1969 EST 19:00:00, 2410C042 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, NIP [c0041fac] 31/12/1969 EST 19:00:00, handle_IRQ_event+0x254/0x4d4 31/12/1969 EST 19:00:00, LR [c0042320] 31/12/1969 EST 19:00:00, __do_IRQ+0xf4/0x164 31/12/1969 EST 19:00:00, Call trace 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0042320] 31/12/1969 EST 19:00:00, __do_IRQ+0xf4/0x16 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0006c64] 31/12/1969 EST 19:00:00, do_IRQ+0x54/0x10 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0005214] 31/12/1969 EST 19:00:00, ret_from_except+0x0/0x1 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [e10cbc7c] 31/12/1969 EST 19:00:00, bcm_bsa_request+0x189c/0x4140 [bcm5690 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [e10d09a8] 31/12/1969 EST 19:00:00, bcm_ioctl+0x144/0x480 [bcm5690 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0087764] 31/12/1969 EST 19:00:00, do_ioctl+0x68/0x9 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0087850] 31/12/1969 EST 19:00:00, vfs_ioctl+0xb8/0x40 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0087e00] 31/12/1969 EST 19:00:00, sys_ioctl+0x268/0x38 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0004a1c] 31/12/1969 EST 19:00:00, DoSyscall_no_dpa_entry+0x74/0x9 /*****************************/ Thanks in advance. Devendra.
Hi.... On Mon, Feb 6, 2012 at 14:13, devendra rawat <devendra.rawat.singh@gmail.com> wrote:
Hi All,
I am having a PPC system running Windriver linux. System is restarting because of watchdog. System was restated because no scheduling took place for 15.7 seconds. I want to figure out which function/ISR/routine was the kernel executing when this softlockup happened and at what place was the execution going. The NIP (next instruction pointer) reg. is not giving the symbol name as the "switch" module that created the problem was dynamically loaded.
Not sure if it will help much, but in x86, there is /sys entries that help you to determine the logical memory address of module in virtual memory after it's loaded. Check this out: $ grep '' /sys/module/cpufreq_conservative/sections/* /sys/module/cpufreq_conservative/sections/.bss:0xf83e332c /sys/module/cpufreq_conservative/sections/.data:0xf83e2fa0 /sys/module/cpufreq_conservative/sections/.exit.text:0xf83e2bbc /sys/module/cpufreq_conservative/sections/.gnu.linkonce.this_module:0xf83e31e0 /sys/module/cpufreq_conservative/sections/.init.text:0xf83e6000 /sys/module/cpufreq_conservative/sections/.rodata.str1.1:0xf83e2bd5 /sys/module/cpufreq_conservative/sections/.strtab:0xf83e6888 /sys/module/cpufreq_conservative/sections/.symtab:0xf83e6058 /sys/module/cpufreq_conservative/sections/.text:0xf83e2000 So, if you had an address, you could compare it with the above addresses that mention the start of each sections of ELF structure in the module. What you found is likely the offset. I am sure you can get the idea and continue on your own at this point :) -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
On 02/05/2012 11:13 PM, devendra rawat wrote:
Hi All,
I am having a PPC system running Windriver linux. System is restarting because of watchdog. System was restated because no scheduling took place for 15.7 seconds. I want to figure out which function/ISR/routine was the kernel executing when this softlockup happened and at what place was the execution going. The NIP (next instruction pointer) reg. is not giving the symbol name as the "switch" module that created the problem was dynamically loaded. Can anybody help in figuring out the exact routine that may be behind the lockup.
I am getting the following OOPS.
cpu0: jiffies: 1903983223, hrtime: 16746998586843980, 15756 ms between scheduler_tick() calls 31/12/1969 EST 19:00:00, BUG: soft lockup detected on CPU#0! 31/12/1969 EST 19:00:00, NIP: C0041FAC LR: C0042320 SP: C71AFB10 REGS: c71afa60 TRAP: 0901 Tainted: P 31/12/1969 EST 19:00:00, MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 31/12/1969 EST 19:00:00, TASK = cef2c880[1224] 'switch' THREAD: c71ae000 31/12/1969 EST 19:00:00, Last syscall: 54 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, GPR00: 31/12/1969 EST 19:00:00, C017D5E4 31/12/1969 EST 19:00:00, C71AFB10 31/12/1969 EST 19:00:00, CEF2C880 31/12/1969 EST 19:00:00, 00000020 31/12/1969 EST 19:00:00, C71AFC20 31/12/1969 EST 19:00:00, D04C7F80 31/12/1969 EST 19:00:00, C036A774 31/12/1969 EST 19:00:00, 0000001C 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, GPR08: 31/12/1969 EST 19:00:00, C036BF48 31/12/1969 EST 19:00:00, 00000000 31/12/1969 EST 19:00:00, 0000F10C 31/12/1969 EST 19:00:00, 00000000 31/12/1969 EST 19:00:00, 2410C042 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, NIP [c0041fac] 31/12/1969 EST 19:00:00, handle_IRQ_event+0x254/0x4d4 31/12/1969 EST 19:00:00, LR [c0042320] 31/12/1969 EST 19:00:00, __do_IRQ+0xf4/0x164 31/12/1969 EST 19:00:00, Call trace 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0042320] 31/12/1969 EST 19:00:00, __do_IRQ+0xf4/0x16 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0006c64] 31/12/1969 EST 19:00:00, do_IRQ+0x54/0x10 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0005214] 31/12/1969 EST 19:00:00, ret_from_except+0x0/0x1 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [e10cbc7c] 31/12/1969 EST 19:00:00, bcm_bsa_request+0x189c/0x4140 [bcm5690 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [e10d09a8] 31/12/1969 EST 19:00:00, bcm_ioctl+0x144/0x480 [bcm5690 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0087764] 31/12/1969 EST 19:00:00, do_ioctl+0x68/0x9 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0087850] 31/12/1969 EST 19:00:00, vfs_ioctl+0xb8/0x40 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0087e00] 31/12/1969 EST 19:00:00, sys_ioctl+0x268/0x38 31/12/1969 EST 19:00:00, 31/12/1969 EST 19:00:00, [c0004a1c] 31/12/1969 EST 19:00:00, DoSyscall_no_dpa_entry+0x74/0x9
/*****************************/
Thanks in advance. Devendra.
It could be getting stuck in the ioctl bcm_ioctl->bcm_bsa_request+0x189c -Fredrick
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (3)
-
devendra rawat -
Fredrick -
Mulyadi Santosa