Oops, I meant to CC the KDB list also, but forgot.
With the reorganization of SAVE_ARGS into a function they removed this
push onto the interrupt stack.
I still haven't figured out how to make the bb stuff work in the
surrounding functions (common_interrupt and save_args) as the backtrace
goes up through the top of the interrupt stack and back to the normal
stack.
I'll post some patches monday. It's unlikely that I'll have the full
backtrace working by then, unless I have an epiphany about bb analysis
before then, but with a few hacks I can get it spitting out the "old"
style backtraces.
mh
----- Forwarded message from Martin Hicks <mort@xxxxxxx> -----
From: Martin Hicks <mort@xxxxxxx>
Subject: [PATCH] x86: push old stack address on irqstack for unwinder
Date: Fri, 30 Jan 2009 10:50:54 -0600
To: tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, hpa@xxxxxxxxx,
heukelum@xxxxxxxxxxxxx
Cc: linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>
Hi,
KDB was using this information. Could this be pushed towards 2.6.29 please?
This re-adds the old stack pointer to the top of the irqstack to help
with unwinding. It was removed in commit
d99015b1abbad743aa049b439c1e1dede6d0fa49
as part of the save_args out-of-line work.
Signed-off-by: Martin Hicks <mort@xxxxxxx>
---
arch/x86/kernel/entry_64.S | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index e28c7a9..a134621 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -346,6 +346,7 @@ ENTRY(save_args)
popq_cfi %rax /* move return address... */
mov %gs:pda_irqstackptr,%rsp
EMPTY_FRAME 0
+ pushq_cfi %rbp /* backlink for unwinder */
pushq_cfi %rax /* ... to the new stack */
/*
* We entered an interrupt context - irqs are off:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
----- End forwarded message -----
|