On Thu, Dec 08, 2016 at 10:04:25AM +0100, Thomas Gleixner wrote: > The logical package management has several issues: > > - The APIC ids provided by ACPI are not required to be the same as the > initial APIC id which can be retrieved by CPUID. The APIC ids provided > by ACPI are those which are written by the BIOS into the APIC. The > initial id is set by hardware and can not be changed. The hardware > provided ids contain the real hardware package information. > > Especially AMD sets the effective APIC id different from the hardware id > as they need to reserve space for the IOAPIC ids starting at id 0. > > As a consequence those machines trigger the currently active firmware > bug printouts in dmesg, These are obviously wrong. > > - Virtual machines have their own interesting way of enumerating APICs and > packages which are not reliably covered by the current implementation. > > The sizing of the mapping array has been tweaked to be generously large to > handle systems which provide a wrong core count when HT is disabled so the > whole magic which checks for space in the physical hotplug case is not > needed anymore. > > Simplify the whole machinery and do the mapping when the CPU starts and the > CPUID derived physical package information is available. This solves the > observed problems on AMD machines and works for the virtualization issues > as well. > > Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Already Tested-by: Borislav Petkov <b...@suse.de> Thanks! -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.