RE: [PATCH] x86/apic: check FADT settings after enable x2apic

From: Wang, Song-Bo (Stoney)
Date: Tue Jan 29 2013 - 03:43:52 EST


> From: Ingo Molnar [mailto:mingo.kernel.org@xxxxxxxxx] On Behalf Of Ingo
> Molnar
> Sent: Tuesday, January 29, 2013 3:48 PM
> To: Yinghai Lu
> Cc: Wang, Song-Bo (Stoney); H. Peter Anvin; Ingo Molnar; Thomas
> Gleixner; Zhang, Lin-Bao (Linux Kernel R&D); Pearson, Greg; linux-
> kernel@xxxxxxxxxxxxxxx; suresh.b.siddha@xxxxxxxxx
> Subject: Re: [PATCH] x86/apic: check FADT settings after enable x2apic
>
>
> * Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>
> > On Mon, Jan 28, 2013 at 2:11 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > >
> > >> HP has systems that work with x2apic phys mode and BIOS set
> > >> ACPI_FADT_APIC_PHYSICAL in FADT table, and all cpuid < 255, the
> > >> spec requires BIOS only put system on xapic mode. Kernel
> > >
> > > Which spec?
> > >
> > >> will set to x2apic logical mode instead of x2apic phys mode.
> > >
> > > Which has exactly what bad effect on users of these systems?
> > >
> > > You left out the most important information from the changelog:
> > > why do users care, what good does the patch do?
> >
> > please check you are happy with this:
> >
> > ---
> > From: Stoney Wang <song-bo.wang@xxxxxx>
> > Subject: [PATCH] x86, apic: Check fadt x2apic phys in
> > x2apic_phys_probe()
> >
> > HP has systems that only work with x2apic phys mode and BIOS set
> > ACPI_FADT_APIC_PHYSICAL in FADT table. But all apicid < 255,
> according
> > to x2apic-spec, chapter 2.9, BIOS need to pass the control to the OS
> > with xapic mode.
> > Kernel will set apic driver wrong to x2apic cluster instead of x2apic
> phys.
> >
> > The user will have to append nox2apic in boot command line to stay
> > xapic mode, or append x2apic_phys to switch to x2apic phys mode.
>
> This still does not explain what happens if none of this user action is
> taken. I.e. what exact _user visible problem_ does the patch fix?
>
> Is this really so unimportant to you? Almost everyone will start a
> changelog with explaining what badness happens. Not you - you explain
> everything from how the fix works to how to work around the bug -
> except describing the most important thing: theuser visible problem
> itself ... Weird.
>
> Thanks,
>
> Ingo

Hi Ingo,

The HW requires x2apic physical mode, and if we do not apply this patch, the OS will follow into x2apic cluster mode by default.
Due to this mode mismatch, with specific HW configurations, there will be intermittent lost interrupts, which could result in a hang or data loss.

Logically, there is a mismatch because the kernel missed detection on HW configurations, and we should fix it, right?
Do we need more detailed information?

Thanks,

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