From: Andi Kleen <ak@suse.de>
To: Hugh Dickins <hugh@veritas.com>
Cc: Jan Beulich <JBeulich@novell.com>,
linux-kernel@vger.kernel.org, discuss@x86-64.org
Subject: Re: [discuss] [PATCH] allow CONFIG_FRAME_POINTER for x86-64
Date: Fri, 9 Sep 2005 12:58:12 +0200 [thread overview]
Message-ID: <200509091258.13300.ak@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.61.0509091133180.5937@goblin.wat.veritas.com>
On Friday 09 September 2005 12:45, Hugh Dickins wrote:
> On Fri, 9 Sep 2005, Jan Beulich wrote:
> > > But why would anyone want frame pointers on x86-64?
> >
> > I'd put the question differently: Why should x86-64 not allow what
> > other architectures do?
> >
> > But of course, I'm not insisting on this patch to get in, it just
> > seemed an obvious inconsistency...
>
> I'm with Jan on this. I use a similar patch for frame pointers on
> x86_64 most of the time, in the hope of getting more accurate backtraces.
It won't give more accurate backtraces, not even on i386 because show_stack
doesn't have any code to follow frame pointers.
> Is x86_64 somehow more likely to give you a less noisy backtrace than
> i386? Fewer of those stale return addresses from earlier trips down
> the stack?
I have a plan to fix this - basically Jan's NLKD has
code to read the unwind information and then do an accurate backtrace
without frame pointers. The plan is to port that code over
(it currently requires too much infrastructure from the debugger
and needs some coding style fixes) and then add something like
CONFIG_RUNTIME_UNWIND_INFO that puts the unwind information into
the running kernel. Then you'll get accurate backtraces without
frame pointers.
The NLKD code would work on i386 too so it could be later enabled
there then too.
IA64 works similar already BTW but the code is not really usable
for other architectures.
> Frame pointers are imperfect on all(?) the supported architectures,
> but I can't see any good reason to exclude them from x86_64. Just a
> couple of weeks ago LKML had a bug where enabling frame pointers on
> x86_64 helped Ingo to pinpoint the origin of the problem.
They are useless because the core kernel doesn't have any code
to follow them. That's true on i386 and on x86-64.
The only reason to use them would be external debuggers, but those
don't need them on x86-64 neither.
-Andi
next prev parent reply other threads:[~2005-09-09 10:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-08 16:04 [PATCH] allow CONFIG_FRAME_POINTER for x86-64 Jan Beulich
2005-09-09 8:54 ` [discuss] " Andi Kleen
2005-09-09 9:16 ` Jan Beulich
2005-09-09 9:23 ` Andi Kleen
2005-09-09 9:40 ` Jan Beulich
2005-09-09 10:45 ` Hugh Dickins
2005-09-09 10:58 ` Andi Kleen [this message]
2005-09-09 11:14 ` Hugh Dickins
2005-09-09 11:21 ` Andi Kleen
2005-09-09 11:31 ` Hugh Dickins
2005-09-09 11:42 ` Andi Kleen
2005-09-09 12:00 ` Hugh Dickins
2005-09-09 17:19 ` Alexander Nyberg
2005-09-10 5:13 ` Andrew Morton
2005-09-10 6:12 ` Andi Kleen
2005-09-09 11:07 ` Philippe Elie
2005-09-09 11:19 ` Andi Kleen
2005-09-09 12:41 ` Eric Dumazet
-- strict thread matches above, loose matches on Subject: below --
2005-09-09 17:50 Chuck Ebbert
2005-09-10 0:16 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200509091258.13300.ak@suse.de \
--to=ak@suse.de \
--cc=JBeulich@novell.com \
--cc=discuss@x86-64.org \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox