Re: Fault Injection issues: stacktrace x86_64 and failslab NUMA

Akinobu Mita
2007-04-22T07:11:37Z

On Sun, Apr 22, 2007 at 12:10:33AM +0200, Andi Kleen wrote:
> > unwind code to even attempt to avoid the problem what should be done?
> > How about:
> >
> > (1) Make it clear the Fault Injection with STACKTRACE on x86_64 is at
> > best "Russian Roulette" -- maybe a !X86_64 in Kconfig.debug?
> >
> > (2) Introduce FRAME_POINTER support back into the x86_64 code. This is
> > what Fault Injection really wants.
> >
> > (3) Keep the saved stack address entries array out of sight of the
> > fallback save_stack_trace() code. Lockdep does this by storing it in
> > static space but this requires locking which would be ugly for Fault
> > Injection. Another option is to mask the saved addresses so they fail
> > the __kernel_text_address() test but fail_stacktrace() uses the same
> > mask to make it's comparisons. There's still the problem of avoiding
> > kernel text addresses stored on the stack by other code (that is, other
> > than the expected stack chain uses).
>
> Some hack in (3) would be probably best, otherwise (1).
> At some point I hope we can get the dwarf2 unwinder back, then
> the problem should be also solved. But then you would need to force
> the dwarf2 unwinder with fault injection on, but that shouldn't
> be a problem.

I'm goint to send the patch that disables stacktrace filter
(CONFIG_FAULT_INJECTION_STACKTRACE_FILTER) on x86_64.

But dwarf2 unwinder is still available on -mm. So I'll
send -mm only patch that enables it at the same time.

BTW, are there any pending issues in dwarf2 unwinder?