All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	paulus@samba.org, cjashfor@linux.vnet.ibm.com,
	fweisbec@gmail.com, linux-kernel@vger.kernel.org,
	"James E.J. Bottomley" <jejb@parisc-linux.org>,
	Jan Blunck <jblunck@suse.de>
Subject: Re: [RFC 0/5] kernel: backtrace unwind support
Date: Sun, 12 Feb 2012 00:36:58 +0100	[thread overview]
Message-ID: <20120211233658.GA1606@m.redhat.com> (raw)
In-Reply-To: <20120211143809.GA19713@elte.hu>

On Sat, Feb 11, 2012 at 03:38:09PM +0100, Ingo Molnar wrote:
> 
> * Jiri Olsa <jolsa@redhat.com> wrote:
> 
> > > I had a quick peek and I don't think it's constructed in a 
> > > resilent enough form right now. For example there's no clear 
> > > separation and checking of what comes from GCC and what not.
> > 
> > yes, there's nothing like this in now, I'll see what can be 
> > done about that..
> 
> Another resilience feature of lockdep is the 'one strike and you 
> are out!' aspect: the first error or unexpected condition we 
> detect results in the very quick shutting down of all things 
> lockdep. It prints exactly one error message, then it 
> deactivates and never ever runs again.
> 
> The equivalent of this in the scope of your dwarf unwind kernel 
> feature would be to fall back to the regular guess and 
> framepointer based stack backtrace method the moment any error 
> is detected.
> 
> Maybe print a single line that indicates that the fallback has 
> been activated, and after that the dwarf code should never run 
> again. Make sure nobody comes away a "oh, no, the dwarf unwind 
> messed up things!' impression, even if it *does* run into some 
> trouble (such as unexpected debuginfo generated by GCC - or 
> debuginfo *corrupted* by a kernel bug [a very real 
> possibility]).

right, such fallback seems necessary

> 
> What is totally unacceptable is for the dwarf code to *cause* 
> crashes, or to destroy stack trace information.
> 
> > yep, looks interesting.. not sure about the mathematical proof 
> > though ;)
> 
> In the physical sense even mathematics is always and unavoidably 
> probability based (or brain and all our senses are 
> probabilistic), so you can probably replace 'mathematical proof' 
> with 'very robust design and a very, very good track record', 
> before bothering Linus with it next time around ;-)

I wasn't aware of such kernel unwind history ;) was just curious,
if anyone is interested, before spending more time on that..

> 
> And we might as well conclude "it's simply not worth it", at 
> some point down he road. I *do* think that it's worth it though, 
> and I do think it can be designed and implemented robustly, so 
> I'd be willing to try out these patches in -tip for a kernel 
> release or two, without pushing it to Linus.

thanks a lot for your ideas, I'll start working on that

jirka

  reply	other threads:[~2012-02-11 23:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-10 11:25 [RFC 0/5] kernel: backtrace unwind support Jiri Olsa
2012-02-10 11:25 ` [PATCH 1/5] unwind, kconfig: Adding UNWIND* options Jiri Olsa
2012-02-10 11:25 ` [PATCH 2/5] unwind, x86: Generate exception frames data for UNWIND_EH_FRAME option Jiri Olsa
2012-02-10 11:25 ` [PATCH 3/5] unwind, dwarf: Add dwarf unwind support Jiri Olsa
2012-02-10 11:25 ` [PATCH 4/5] unwind, api: Add unwind interface and implementation for x86_64 Jiri Olsa
2012-02-10 11:25 ` [PATCH 5/5] unwind, test: Add backtrace unwind test code Jiri Olsa
2012-02-10 17:43 ` [RFC 0/5] kernel: backtrace unwind support Peter Zijlstra
2012-02-10 18:59   ` Linus Torvalds
2012-02-10 19:27     ` Arnaldo Carvalho de Melo
2012-02-10 19:32       ` Linus Torvalds
2012-02-10 19:39         ` Arnaldo Carvalho de Melo
2012-02-10 19:42           ` Arnaldo Carvalho de Melo
2012-02-10 19:44       ` Ingo Molnar
2012-02-10 20:18         ` Jiri Olsa
2012-02-10 20:37           ` Linus Torvalds
2012-02-14  2:22             ` Benjamin Herrenschmidt
2012-02-11 14:38           ` Ingo Molnar
2012-02-11 23:36             ` Jiri Olsa [this message]
2012-02-11  3:25         ` Frederic Weisbecker

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=20120211233658.GA1606@m.redhat.com \
    --to=jolsa@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=cjashfor@linux.vnet.ibm.com \
    --cc=fweisbec@gmail.com \
    --cc=jblunck@suse.de \
    --cc=jejb@parisc-linux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.org \
    --cc=torvalds@linux-foundation.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 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.