Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4786202ooa; Tue, 14 Aug 2018 10:31:31 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwKLvZfwAcCf44ZwHsH3Uskno9TJgbe2FKl1mlujaGqG0YoaeB/dVbHxW0sVJ5YYQKxE2vj X-Received: by 2002:a17:902:8a97:: with SMTP id p23-v6mr21259744plo.21.1534267891038; Tue, 14 Aug 2018 10:31:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534267891; cv=none; d=google.com; s=arc-20160816; b=jB6D7HuG9Is2FXuk+omYjH6CVjUFj13DCGfmzo9ZydcHmPAjwjNPHlp4tB4gcglIka X+SHnY66UyfIYKli/bdN+O5bJEycuYC5C73q/Bq8l5QP7yvfo8cuy3GoBfRnqG/A//DA MsproAjcbxft/pqMRTaU/fvwo3Sa+Sjem3S5oPDXJkfLDlFas962vcQomXfXXhyxMzDy te+1k3B4Kfob8pXo8LcFWA1w04jx8RSIybDushafmz9EQ4LqyOTbxZjwj1o3MMFFdg+n uVddEQZTmCrGz1N7A72UPT/PoG7bgFc+9pNF5PD9Wkq9GIEgaXxlwCOKKQsfzpMW6ntg kspw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=P6ExJdeQ7juIhU3dsv3hrO9gcdu4ukUUcXJoCFaYk/s=; b=0Lx5w9azskA2FGk/VQDsxMP0/MtSYTZyuCKK+eS+t0dLdX0wNzqXAVczJEIDzGjs6W wP+CSuXXK1sGE6tpN4bTw+SVCs7X0moR/8bmo2Xjtx2m1+u2KMRE9X8hetO/eT4Kassv 5XoGheayAgCTO8OYGj15dg4vdUEZCUENZQJ3G1hif4CvdXW508oyeSy6X13mCQ4uH680 1Up8yQVmcy6SHdIO8VSpDfKV3gfd2c5+qxBxyWEOhB/EQkqPWjz7aLsw/MCAK27zJ6F5 RlsVzt6DK58fn2AGcumaqXj8z1wJu4FEb2EQ/q/SboXuBDImIWkqVUcu4oS3+U95WNTX 3hBg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 6-v6si20602758pgv.508.2018.08.14.10.30.52; Tue, 14 Aug 2018 10:31:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388481AbeHNUOi (ORCPT + 99 others); Tue, 14 Aug 2018 16:14:38 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:52016 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387947AbeHNUOi (ORCPT ); Tue, 14 Aug 2018 16:14:38 -0400 Received: from localhost (unknown [194.244.16.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id F12ABCEA; Tue, 14 Aug 2018 17:26:30 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jiri Kosina , Thomas Gleixner , Josh Poimboeuf Subject: [PATCH 4.18 53/79] cpu/hotplug: Expose SMT control init function Date: Tue, 14 Aug 2018 19:17:12 +0200 Message-Id: <20180814171339.797141844@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180814171336.799314117@linuxfoundation.org> References: <20180814171336.799314117@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jiri Kosina The L1TF mitigation will gain a commend line parameter which allows to set a combination of hypervisor mitigation and SMT control. Expose cpu_smt_disable() so the command line parser can tweak SMT settings. [ tglx: Split out of larger patch and made it preserve an already existing force off state ] Signed-off-by: Jiri Kosina Signed-off-by: Thomas Gleixner Tested-by: Jiri Kosina Reviewed-by: Greg Kroah-Hartman Reviewed-by: Josh Poimboeuf Link: https://lkml.kernel.org/r/20180713142323.039715135@linutronix.de Signed-off-by: Greg Kroah-Hartman --- include/linux/cpu.h | 2 ++ kernel/cpu.c | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -177,8 +177,10 @@ enum cpuhp_smt_control { #if defined(CONFIG_SMP) && defined(CONFIG_HOTPLUG_SMT) extern enum cpuhp_smt_control cpu_smt_control; +extern void cpu_smt_disable(bool force); #else # define cpu_smt_control (CPU_SMT_ENABLED) +static inline void cpu_smt_disable(bool force) { } #endif #endif /* _LINUX_CPU_H_ */ --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -347,13 +347,23 @@ EXPORT_SYMBOL_GPL(cpu_hotplug_enable); enum cpuhp_smt_control cpu_smt_control __read_mostly = CPU_SMT_ENABLED; EXPORT_SYMBOL_GPL(cpu_smt_control); -static int __init smt_cmdline_disable(char *str) +void __init cpu_smt_disable(bool force) { - cpu_smt_control = CPU_SMT_DISABLED; - if (str && !strcmp(str, "force")) { + if (cpu_smt_control == CPU_SMT_FORCE_DISABLED || + cpu_smt_control == CPU_SMT_NOT_SUPPORTED) + return; + + if (force) { pr_info("SMT: Force disabled\n"); cpu_smt_control = CPU_SMT_FORCE_DISABLED; + } else { + cpu_smt_control = CPU_SMT_DISABLED; } +} + +static int __init smt_cmdline_disable(char *str) +{ + cpu_smt_disable(str && !strcmp(str, "force")); return 0; } early_param("nosmt", smt_cmdline_disable);