[PATCH 0/3 v2 RESEND] x86/smpboot: Cleanup logical package ID

From: Prarit Bhargava
Date: Tue Sep 26 2017 - 08:53:36 EST


Sending to wider audience. I originally sent this to only the people Andi
had cc'd.

Andi posted two patches to clean up the logical package ID, and I posted a
bug fix for systems which boot with less than than the maximum core count.
If I take his changes into account the code base ends up with a significant
cleanup. I am reposting his patches here.

I boot tested this using max_cpus and nr_cpus, as well as booting on
systems which panic without the fix in 3/3.

---8<---

Cleanup the logical package ID code by storing the logical package ID in
the cpuinfo_x86 struct and calculating the maximum logical package ID
after all the CPUs have been enumerated.

Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
Cc: Piotr Luc <piotr.luc@xxxxxxxxx>
Cc: Kan Liang <kan.liang@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Stephane Eranian <eranian@xxxxxxxxxx>
Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: Tom Lendacky <thomas.lendacky@xxxxxxx>
Cc: He Chen <he.chen@xxxxxxxxxxxxxxx>
Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx>
Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>
Cc: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>

Andi Kleen (2):
perf/x86/intel/uncore: Cache logical pkg id in uncore driver
x86/topology: Avoid wasting 128k for package id array

Prarit Bhargava (1):
x86/smpboot: Fix __max_logical_packages estimate

arch/x86/events/intel/uncore.c | 1 +
arch/x86/events/intel/uncore.h | 1 +
arch/x86/events/intel/uncore_snbep.c | 2 +-
arch/x86/include/asm/processor.h | 6 +-
arch/x86/kernel/smpboot.c | 113 +++++++++++------------------------
5 files changed, 42 insertions(+), 81 deletions(-)

--
1.8.5.5