On 09/26/2017 08:53 AM, Prarit Bhargava wrote:
> Sending to wider audience.  I originally sent this to only the people Andi
> had cc'd.

Here's an example of the panic:

    smpboot: Booting Node   1, Processors  #1 OK
    smpboot: Package 1 of CPU 1 exceeds BIOS package data 1.
    ------------[ cut here ]------------
    kernel BUG at arch/x86/kernel/cpu/common.c:1087!
    invalid opcode: 0000 [#1] SMP
    Modules linked in:
    CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.14.0-rc2+ #4


> 
> 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 <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: [email protected]
> Cc: Peter Zijlstra <[email protected]>
> Cc: Andi Kleen <[email protected]>
> Cc: Dave Hansen <[email protected]>
> Cc: Piotr Luc <[email protected]>
> Cc: Kan Liang <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Stephane Eranian <[email protected]>
> Cc: Prarit Bhargava <[email protected]>
> Cc: Arvind Yadav <[email protected]>
> Cc: Andy Lutomirski <[email protected]>
> Cc: Christian Borntraeger <[email protected]>
> Cc: "Kirill A. Shutemov" <[email protected]>
> Cc: Tom Lendacky <[email protected]>
> Cc: He Chen <[email protected]>
> Cc: Mathias Krause <[email protected]>
> Cc: Tim Chen <[email protected]>
> Cc: Vitaly Kuznetsov <[email protected]>
> 
> 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(-)
> 

Reply via email to