From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Jan Beulich <JBeulich@novell.com>,
"H. Peter Anvin" <a.p.zijlstra@chello.nl>,
Stephane Eranian <eranian@google.com>,
Thomas Gleixner <tglx@linutronix.de>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Soeren Sandmann Pedersen <sandmann@redhat.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 1/2] x86: Fix rbp saving in pt_regs on irq entry
Date: Fri, 7 Jan 2011 17:05:02 +0100 [thread overview]
Message-ID: <20110107160459.GA2751@nowhere> (raw)
In-Reply-To: <20110107123130.GB20761@elte.hu>
On Fri, Jan 07, 2011 at 01:31:30PM +0100, Ingo Molnar wrote:
>
> * Jan Beulich <JBeulich@novell.com> wrote:
>
> > > Now I don't understand how this is all useful as this is not a normal proc but
> > > an interruption. We can't get back the return address from the CFA. Or am I
> > > missing something?
> >
> > Unwind annotations, when written correctly, allow unwinding through all kinds of
> > execution flows, including interrupts or exceptions as well as including stack
> > switches.
>
> Yeah and that's rather useful, as exception contexts can nest in very weird ways,
> especially with NMIs involved. For example a 7-context combination is possible:
>
> user-space -> syscall -> pagefault -> softirq -> hardirq -> debug trap -> NMI
>
> And the call frame walking logic needs to be able to get all the way back to
> user-space ...
>
> For that every transition needs to work flawlessly, for debugging (and CFI based
> profiling) to work fine.
>
> Most of those transitions can happen at any instruction boundary that a given
> context executes, so the total number of possible combinations is virtually endless.
>
> Unfortunately we dont seem to have a good way to test any of this automatically.
> Putting a perf probe on every assembly instruction perhaps, and checking whether the
> frame manages to go back all the way to user-space?
May be.
Once I'll have perf callchain based on CFI ready, we'll perhaps find some issues
there. Although I guess there are already tools that can make use of that.
>
> Thanks,
>
> Ingo
next prev parent reply other threads:[~2011-01-07 16:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-06 14:51 [RFC GIT PULL] perf updates Frederic Weisbecker
2011-01-06 14:51 ` [PATCH 2/2] perf: Build tools with frame pointer Frederic Weisbecker
2011-01-07 15:31 ` [tip:perf/core] perf tools: Build " tip-bot for Frederic Weisbecker
[not found] ` <1294325513-14276-2-git-send-email-fweisbec@gmail.com>
2011-01-06 15:18 ` [RFC PATCH 1/2] x86: Fix rbp saving in pt_regs on irq entry Jan Beulich
2011-01-06 15:45 ` Frederic Weisbecker
2011-01-06 16:10 ` Jan Beulich
2011-01-06 16:22 ` Frederic Weisbecker
2011-01-06 16:39 ` Jan Beulich
2011-01-06 16:54 ` Frederic Weisbecker
2011-01-06 16:58 ` Jan Beulich
2011-01-06 17:12 ` Frederic Weisbecker
2011-01-06 17:24 ` Frederic Weisbecker
2011-01-07 7:45 ` Jan Beulich
2011-01-07 12:31 ` Ingo Molnar
2011-01-07 16:05 ` Frederic Weisbecker [this message]
2011-01-07 16:13 ` Jan Beulich
2011-01-07 16:27 ` Frederic Weisbecker
2011-01-07 16:58 ` Ingo Molnar
2011-01-07 17:17 ` Frederic Weisbecker
2011-01-07 16:33 ` Frederic Weisbecker
2011-01-07 14:26 ` Frederic Weisbecker
2011-01-07 12:23 ` [RFC GIT PULL] perf updates Ingo Molnar
2011-01-07 15:24 ` Frederic Weisbecker
2011-01-07 15:37 ` Ingo Molnar
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=20110107160459.GA2751@nowhere \
--to=fweisbec@gmail.com \
--cc=JBeulich@novell.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sandmann@redhat.com \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.