Re: scheduling while atomic & hang.

From: Ingo Molnar
Date: Sat Jul 06 2013 - 04:07:57 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> On Fri, Jul 05, 2013 at 12:27:51PM -0700, Linus Torvalds wrote:
> > On Thu, Jul 4, 2013 at 11:51 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > >
> > > It would be nice to have a full-kernel-stack backtrace printout as an
> > > option, which prints entries 'above' the current RSP.
> >
> > One problem with that is that it is likely to be mostly overwritten by
> > the debug code that is about to print this all out - and any non-debug
> > code may well be really old, just with a sufficiently deep stack trace
> > to show up. Not to mention missing any irq-stack changes etc anyway.
> >
> > So it can easily be *very* misleading - I'm not sure how useful it
> > would be as an idea.
> >
> > Linus
>
> So if the unwider doesn't run with the same stak than the target, it
> migh work. This can work with BUG for example But I believe that WARN
> doesn't do a trap in x86.

Instead of switching stacks it might be better to create an early snapshot
of the stack into a temporary area before calling anything, and to print
that. This is debug code, so overhead is not a big issue.

But yeah, Linus is right, it gets hairy, can be misleading and has limited
utility :-/

Thanks,

Ingo
--
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/