Re: Dont record local apic ids when they are disabled in MADT

From: Ashok Raj
Date: Thu Jan 26 2006 - 09:09:32 EST


On Thu, Jan 26, 2006 at 02:55:11PM +0100, Andi Kleen wrote:
> On Thursday 26 January 2006 14:48, Ashok Raj wrote:
> > Hi Andrew,
> >
> > We had added additional_cpus=xx for x86_64, but apparently there were some
> > BIOSs that had duplicate apic ids when they were reported disabled.
> >
> > It seems fair not to record them, this was causing some bad behaviour due to
> > the duplicate apic id. More details in the bugzilla recorded in the log.
>
> This means CPU hotplug will require additional non existing code again - or who
> will set up the APIC IDs etc. for the new CPUs then?


The ACPI hotplug code already would refresh this apic id when the notify
for CPU hotplug is processed.

Possibly we could add additional check to safegaurd buggy bios reporting
bad apicid, as a safegaurd.

The ACPI code when it processes a physical removal would remove this entry
and replace with invalid id, and populate it when we process a physical
hot-add.

(although i would say we tested this only on ia64 so far, the code is
generic to x86_64 as well, but i havent gone around testing physical hotplug
via emulation patches we have internally)

>
> An alternative might be to reject any entries that have the APIC ID of
> an existing entry. That would require that the entries are sorted with disabled
> after enabled
> (in the worst case Linux could sort again)
>
> -Andi

--
Cheers,
Ashok Raj
- Open Source Technology Center
-
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/