Softlock OOPS dump
From: Mulyadi Santosa <hidden>
Date: 2012-02-06 07:45:56
Hi.... On Mon, Feb 6, 2012 at 14:13, devendra rawat [off-list ref] 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