The SMT disable 'nosmt' command line argument is not working properly when
CONFIG_HOTPLUG_CPU is disabled. The teardown of the sibling CPUs which are
required to be brought up due to the MCE issues, cannot work. The CPUs are
then kept in a half dead state.

As the 'nosmt' functionality has become popular due to the speculative
hardware vulnerabilities, the half torn down state is not a proper solution
to the problem.

Enforce CONFIG_HOTPLUG_CPU=y when SMP is enabled so the full operation is
possible.

Reported-by: Tianyu Lan <tianyu....@microsoft.com>
Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Cc: Konrad Wilk <konrad.w...@oracle.com>
Cc: Josh Poimboeuf <jpoim...@redhat.com>
Cc: Mukesh Ojha <mo...@codeaurora.org>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Jiri Kosina <jkos...@suse.cz>
Cc: Rik van Riel <r...@surriel.com>
Cc: Andy Lutomirski <l...@kernel.org>
Cc: Micheal Kelley <michael.h.kel...@microsoft.com>
Cc: K. Y. Srinivasan <k...@microsoft.com>
Cc: Greg KH <gre...@linuxfoundation.org>
Cc: Linus Torvalds <torva...@linux-foundation.org>
Cc: Borislav Petkov <b...@alien8.de>
Cc: sta...@vger.kernel.org
---
 arch/x86/Kconfig |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2217,14 +2217,8 @@ config RANDOMIZE_MEMORY_PHYSICAL_PADDING
           If unsure, leave at the default value.
 
 config HOTPLUG_CPU
-       bool "Support for hot-pluggable CPUs"
+       def_bool y
        depends on SMP
-       ---help---
-         Say Y here to allow turning CPUs off and on. CPUs can be
-         controlled through /sys/devices/system/cpu.
-         ( Note: power management support will enable this option
-           automatically on SMP systems. )
-         Say N if you want to disable CPU hotplug.
 
 config BOOTPARAM_HOTPLUG_CPU0
        bool "Set default setting of cpu0_hotpluggable"


Reply via email to