x86/stacktrace: return 0 instead of -1 for stack ops
authorSteven Rostedt <srostedt@redhat.com>
Fri, 15 May 2009 03:19:09 +0000 (23:19 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 15 May 2009 03:19:09 +0000 (23:19 -0400)
commit29a679754b1a2581ee456eada6c2de7ce95068bb
treee647c89f3a293f4436ed285acc46180e6fe9a292
parent168b6b1d0594c7866caa73b12f3b8d91075695f2
x86/stacktrace: return 0 instead of -1 for stack ops

If we return -1 in the ops->stack for the stacktrace saving, we end up
breaking out of the loop if the stack we are tracing is in the exception
stack. This causes traces like:

          <idle>-0     [002] 34263.745825: raise_softirq_irqoff <-__blk_complete_request
          <idle>-0     [002] 34263.745826:
 <= 0
 <= 0
 <= 0
 <= 0
 <= 0
 <= 0
 <= 0

By returning "0" instead, the irq stack is saved as well, and we see:

          <idle>-0     [003]   883.280992: raise_softirq_irqoff <-__hrtimer_star
t_range_ns
          <idle>-0     [003]   883.280992:
 <= hrtimer_start_range_ns
 <= tick_nohz_restart_sched_tick
 <= cpu_idle
 <= start_secondary
 <=
 <= 0
 <= 0

[ Impact: record stacks from interrupts ]

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
arch/x86/kernel/stacktrace.c