diff options
author | Dustin Brown <dustinb@codeaurora.org> | 2017-06-13 11:40:56 -0700 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2017-06-15 11:52:35 +0100 |
commit | e27c7fa015d61c8be6a2c32b2144aad2ae6ec975 (patch) | |
tree | 609dc65a3dcee351ec8d41aa626b4a7bc8531e2d /arch/arm64 | |
parent | 91e0bf81258c07aad27a4833368569ce873cd83e (diff) | |
download | linux-e27c7fa015d61c8be6a2c32b2144aad2ae6ec975.tar.gz linux-e27c7fa015d61c8be6a2c32b2144aad2ae6ec975.tar.bz2 linux-e27c7fa015d61c8be6a2c32b2144aad2ae6ec975.zip |
arm64: Export save_stack_trace_tsk()
The kernel watchdog is a great debugging tool for finding tasks that
consume a disproportionate amount of CPU time in contiguous chunks. One
can imagine building a similar watchdog for arbitrary driver threads
using save_stack_trace_tsk() and print_stack_trace(). However, this is
not viable for dynamically loaded driver modules on ARM platforms
because save_stack_trace_tsk() is not exported for those architectures.
Export save_stack_trace_tsk() for the ARM64 architecture to align with
x86 and support various debugging use cases such as arbitrary driver
thread watchdog timers.
Signed-off-by: Dustin Brown <dustinb@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/kernel/stacktrace.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/kernel/stacktrace.c b/arch/arm64/kernel/stacktrace.c index feac80c22f61..09d37d66b630 100644 --- a/arch/arm64/kernel/stacktrace.c +++ b/arch/arm64/kernel/stacktrace.c @@ -210,6 +210,7 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) put_task_stack(tsk); } +EXPORT_SYMBOL_GPL(save_stack_trace_tsk); void save_stack_trace(struct stack_trace *trace) { |