Purpose
It can often be useful when debugging the kernel to be able to print the stack (and call trace) in the Linux kernel. While you could force a kernel panic to make this happen that is often less than desirable. Instead you would want to use the dump_stack() function which will give you a call trace. This function is not enabled in the default kernel and must be enabled. This article will cover how to enable and use the dump_stack() function.
Enabling in Kernel Config
To enable the dump_stack() function in the kernel config the following options must be set. You can use make menuconfig or make xconfig to do this.
Kernel hacking -> Kernel debugging
Kernel hacking -> Verbose kernel error
messages
Enabling these two options will change the dump_stack() function from a do nothing function to dumping the stack.
You need to rebuild your Linux kernel image after enabling these options.
Using dump_stack()
Using the dump_stack() function is as easy as calling dump_stack() wherever you wish to print out the stack. This will cause a stack trace to be printed at that point.
Conclusion
This is a useful way to print out the stack while leaving the kernel unharmed.