[lkml]   [2017]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v6 0/3] Fix panic in logical packages calculation
A system booted with a small number of cores enabled per package
panics because the estimate of __max_logical_packages is too low.
This occurs when the total number of active cores across all packages
is less than the maximum core count for a single package.

Andi noted that the logical_packages calculation wastes 128k on 64-bit
x86 systems and posted patches to fix the allocation. His patches
result in significant memory size savings, and I have put my
fix on top of those patches.

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

This was tested by dropping the number of active cores across
all packages to reproduce the bug above. Additional testing included
2 socket and 4 socket systems and hotplugging entire sockets in different

Signed-off-by: Andi Kleen <>
Cc: Thomas Gleixner <>
Cc: Ingo Molnar <>
Cc: "H. Peter Anvin" <>
Cc: Peter Zijlstra <>
Cc: Andi Kleen <>
Cc: Dave Hansen <>
Cc: Piotr Luc <>
Cc: Kan Liang <>
Cc: Borislav Petkov <>
Cc: Stephane Eranian <>
Cc: Prarit Bhargava <>
Cc: Arvind Yadav <>
Cc: Andy Lutomirski <>
Cc: Christian Borntraeger <>
Cc: "Kirill A. Shutemov" <>
Cc: Tom Lendacky <>
Cc: He Chen <>
Cc: Mathias Krause <>
Cc: Tim Chen <>
Cc: Vitaly Kuznetsov <>

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 | 4 +-
arch/x86/events/intel/uncore.h | 2 +-
arch/x86/events/intel/uncore_snbep.c | 2 +-
arch/x86/include/asm/processor.h | 1 +
arch/x86/kernel/smpboot.c | 130 +++++++++++------------------------
5 files changed, 44 insertions(+), 95 deletions(-)


 \ /
  Last update: 2017-11-14 13:43    [W:0.140 / U:0.828 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site