(trying again) how to get kernel stack trace if process not blocked?

From: Ethan Wilson
Date: Wed Aug 20 2014 - 04:20:19 EST


Hello list,
I know cat /proc/pid/stack shows the kernel call stack of a process, and this is so good, but it will show just 0xffffffffffffffff if the process is running in kernel space and not blocked (sleeping).

It would be *very* useful to get the kernel stack trace for a running process, even if imprecise, or at least knowing the name of the kernel function executing now (top of the stack). Why is it not doable?

I tried to disable CONFIG_SCHED_OMIT_FRAME_POINTER but it didn't allow to print the stack from /proc/pid/stack anyway. What is the benefit of disabling such kernel option (i.e. having the frame pointer)?

I guessed that maybe with EIP from /proc/pid/stat it is possible to do something like that but I can't find much information on how to do that.

Thanks for any information
EW
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/