]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Have stack tracer trace full stack
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 16 Oct 2018 03:14:28 +0000 (23:14 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Sat, 27 Oct 2018 15:15:04 +0000 (11:15 -0400)
commited9399aa6d4c77817ad7b4d7f9c8dd3f7b3cc61a
tree52e2e701392b16c43de2eddb0a3a8bc981719d9a
parent43893a3f9772c87b653ceeff02b41f730391da66
tracing: Have stack tracer trace full stack

The stack tracer traces every function call checking the current stack (in
non interrupt context), looking for the deepest stack, and saving it when it
finds a new max depth. The problem is that it calls save_stack_trace(), and
with the new ORC unwinder, it can skip too much. As it looks at the ip of
the function call in the backtrace to find where it should start, it doesn't
need to skip anything.

The stack trace selftest would fail when the kernel was complied with the
ORC UNDWINDER enabled. Without skipping functions when doing the stack
trace, it now passes again.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_stack.c