How to print the current thread stack trace inside the Linux kernel?
c, linux, linux-kernel, stack-trace
Solution
Linux kernel has very well known function called `dump_stack()` here, which prints the content of the stack. Place it in your function according to see stack info.
Problem
I would like to be able to print the stack trace of a thread in the Linux kernel. In details: I want to add code to specific functions (e.g. `swap_writepage()` ) that will print the complete stack trace of the thread where this function is being called. Something like this: ``` int swap_writepage(struct page *page, struct writeback_control *wbc) { /* code goes here to print stack trace */ int ret = 0; if (try_to_free_swap(page)) { unlock_page(page); goto out; } if (frontswap_store(page) == 0) { set_page_writeback(page); unlock_page(page); end_page_writeback(page); goto out; } ret = __swap_writepage(page, wbc, end_swap_bio_write); out: return ret; } ```