public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/3] Fix panic in logical packages calculation
@ 2017-11-14 12:42 Prarit Bhargava
  2017-11-14 12:42 ` [PATCH v6 1/3] perf/x86/intel/uncore: Cache logical pkg id in uncore driver Prarit Bhargava
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Prarit Bhargava @ 2017-11-14 12:42 UTC (permalink / raw)
  To: linux-kernel
  Cc: Prarit Bhargava, Andi Kleen, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Peter Zijlstra, Dave Hansen, Piotr Luc,
	Kan Liang, Borislav Petkov, Stephane Eranian, Arvind Yadav,
	Andy Lutomirski, Christian Borntraeger, Kirill A. Shutemov,
	Tom Lendacky, He Chen, Mathias Krause, Tim Chen, Vitaly Kuznetsov

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
order.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Piotr Luc <piotr.luc@intel.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Stephane Eranian <eranian@google.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: He Chen <he.chen@linux.intel.com>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>

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(-)

-- 
2.15.0.rc0.39.g2f0e14e64

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-02-07 19:31 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-14 12:42 [PATCH v6 0/3] Fix panic in logical packages calculation Prarit Bhargava
2017-11-14 12:42 ` [PATCH v6 1/3] perf/x86/intel/uncore: Cache logical pkg id in uncore driver Prarit Bhargava
2017-11-17 15:27   ` [tip:x86/urgent] " tip-bot for Andi Kleen
2017-11-14 12:42 ` [PATCH v6 2/3] x86/topology: Avoid wasting 128k for package id array Prarit Bhargava
2017-11-17 14:59   ` Thomas Gleixner
2017-11-17 15:27   ` [tip:x86/urgent] " tip-bot for Andi Kleen
2017-11-14 12:42 ` [PATCH v6 3/3] x86/smpboot: Fix __max_logical_packages estimate Prarit Bhargava
2017-11-17 15:27   ` [tip:x86/urgent] " tip-bot for Prarit Bhargava
2018-02-07 18:44   ` [v6,3/3] " Simon Gaiser
2018-02-07 19:04     ` Prarit Bhargava
2018-02-07 19:26       ` Simon Gaiser
2018-02-07 19:31         ` Prarit Bhargava

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox