I have been using kdump and kexec tools for collecting core dump when there is a kernel panic.
I have compiled 2 kernels, one is base kernel (3.12.0) and other one is kdump kernel (3.12.0-kdump).
I have followed the steps give in the below link to configure crash kernel for collecting core dumps.
I simulated a kernel crash using the below command
echo c > /proc/sysrq_trigger
When I try to debug the core using gdb, the bt shows the crash at
0 intel_idle (dev=<optimized out>, drv=<optimized out>, index=5) at drivers/idle/intel_idle.c:370
#1 0xffffffff813be15b in cpuidle_enter_state (dev=dev@entry=0xffff88042021a500,
drv=drv@entry=0xffffffff8185a480, index=index@entry=5) at drivers/cpuidle/cpuidle.c:84
But ideally the crash happened at sysrq_handle.
When i compile the base kernel(3.12.0) with CONFIG_SMP=n, the dump shows the right place of the crash. I m really confused with of role SMP configuration in base kernel. As per the kernel documentation, we need to disable the SMP configuration in crash kernel which i did already.
I need an expert guidance on this. Can you please throw your ideas/suggestions on this?