Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
x86/smpboot: Fix __max_logical_packages estimate
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. e.g.: On a 4 package system with 20 cores/package where only 4 cores are enabled on each package, the value of __max_logical_packages is calculated as DIV_ROUND_UP(16 / 20) = 1 and not 4. Calculate __max_logical_packages after the cpu enumeration has completed. Use the boot cpu's data to extrapolate the number of packages. Signed-off-by: Prarit Bhargava <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Tom Lendacky <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Christian Borntraeger <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Kan Liang <[email protected]> Cc: He Chen <[email protected]> Cc: Stephane Eranian <[email protected]> Cc: Dave Hansen <[email protected]> Cc: Piotr Luc <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Arvind Yadav <[email protected]> Cc: Vitaly Kuznetsov <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Tim Chen <[email protected]> Cc: Mathias Krause <[email protected]> Cc: "Kirill A. Shutemov" <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
- Loading branch information