[tip:x86/debug] x86/kdump: No need to disable ioapic/ lapic in crash path

Don Zickus dzickus at redhat.com
Thu Feb 16 12:27:35 EST 2012


On Mon, Feb 13, 2012 at 10:16:00AM -0800, Yinghai Lu wrote:
> On Mon, Feb 13, 2012 at 8:51 AM, Yinghai Lu <yinghai at kernel.org> wrote:
> >> So I suspect we have a bug in our apic initialization somewhere, but
> >> apic initialization should happen after printk are enabled.  Or at least
> >> after early printks so the reset YH is reporting doesn't make much sense.
> >
> > will try Don's first version patch that only removing disable_IO_APIC.
> 
> first version patch (only removing disable_IO_APIC) is working.

So I think I figured it out.  I went through and commented out code in
disable_local_APIC until I narrowed it down to the piece of code that
needs to be disabled for it to work.

Surprise, surprise... its LVTPC or perf! :-)  Actually it is the
nmi_watchdog which uses perf.  My theory is NMIs are not disabled and one
is generated by the local apic during decompression (just bad timing) and
*splat*.

Yinghai, you can probably prove this by

echo 0 > /proc/sys/kernel/nmi_watchdog

then do your kdump crash test.

At least that test worked for me.

So either we explicitly shutdown perf or just mask off LVTPC in a modified
disable_local_APIC?

Eric, thoughts, preferences?

Cheers,
Don



More information about the kexec mailing list