Re: [tip:x86/debug] x86/kdump: No need to disable ioapic/ lapic incrash path

From: Don Zickus
Date: Thu Feb 16 2012 - 14:10:53 EST


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@xxxxxxxxxx> 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
--
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/