diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2008-01-30 07:33:07 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:07 -0500 |
commit | 5bc27dc2f55fd3043597b5a8de6536183f28a449 (patch) | |
tree | dca83b12fb2f01f85a9e31bf1fb3802bd2cfef2a /arch/x86/oprofile | |
parent | e9d4efddbec3d852d435b370b9c40ff7ac24afe6 (diff) |
x86: pull bp calculation earlier into the backtrace path
Right now, we take the stack pointer early during the backtrace path, but
only calculate bp several functions deep later, making it hard to reconcile
the stack and bp backtraces (as well as showing several internal backtrace
functions on the stack with bp based backtracing).
This patch moves the bp taking to the same place we take the stack pointer;
sadly this ripples through several layers of the back tracing stack,
but it's not all that bad in the end I hope.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/oprofile')
-rw-r--r-- | arch/x86/oprofile/backtrace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c index 671a7ecf11aa..0ca4815a2938 100644 --- a/arch/x86/oprofile/backtrace.c +++ b/arch/x86/oprofile/backtrace.c | |||
@@ -81,7 +81,7 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth) | |||
81 | 81 | ||
82 | if (!user_mode_vm(regs)) { | 82 | if (!user_mode_vm(regs)) { |
83 | if (depth) | 83 | if (depth) |
84 | dump_trace(NULL, regs, (unsigned long *)stack, | 84 | dump_trace(NULL, regs, (unsigned long *)stack, 0, |
85 | &backtrace_ops, &depth); | 85 | &backtrace_ops, &depth); |
86 | return; | 86 | return; |
87 | } | 87 | } |