Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8106978imu; Tue, 4 Dec 2018 03:07:16 -0800 (PST) X-Google-Smtp-Source: AFSGD/WV5LW1m59vQft5WvnyMGpoekC4uQunnoi8G1xz7r8uOGcpUCaD/HovCbox3XeaKlmwCVmt X-Received: by 2002:a62:1112:: with SMTP id z18mr19401025pfi.173.1543921636362; Tue, 04 Dec 2018 03:07:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543921636; cv=none; d=google.com; s=arc-20160816; b=q7/T/h1HfNz9MtZoIbTgqQnHyMwNaXuOZjQPzp0JufSH5LmCqdPbuWlWQXKk+fcDuz kZa4ivyo9lThUmzo3EBR2iz6q7kbubdSlljWtjRxFzARZCz2wDu/fPTgbK9k1Y0im2Jp sCHvm7bRNMeJoyqE1tdQs6BnbOPmSDJO/9JUbleT8YASlGIIRbSiSn8OaPxxyFgxuyt9 PhzJp3JjdZlbWi/5dM9/JgknyIQrP7ESz0EJOkKJMxWHRAHgXG9+KezlOt5aCRmSXP0B HifH+8Wsj8ciiOyY4dwjpuZ+QNuJ0sMh+qG0fkx/urK4Xjj6QtSqQaHke2QY7pZyAqCN cBWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=1Tc8ZwNuodS52jMJqGivdis39H23oCPKiaG7mNp8lNs=; b=VlnqxqBuEMVMNUAXbE4nW7zejwd+lgi2A4jgczVgoK/zetIpAgKsoe5cnNkUVxXl/i m7gHAG1VAwy5VPxamtbV05aEXzVlTwydDppdsaJd4gYgu+ajiimOs7gYKxGY+nOxJrPD O65DL6G2zOJxi/HYTDQ9o1H9pje0VaT/m1Ag7ui48rks4fdhEJnZ0lMOr6bMDe5oqm3w d6B1uX1W10JPz2YMcFo33/7UkX+sNAJsSAytl2dsTUKgHIUblc5/N3Y768DkMEUTdtLq 3717eWYja353iasuijJQgyulhSqwg+jp1PiSvnrUJ6HJvX5wF9U7KaCF51d62jplN2Sq FSLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MZ50yyMZ; 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 o7si15966230pgl.42.2018.12.04.03.07.00; Tue, 04 Dec 2018 03:07:16 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=MZ50yyMZ; 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 S1726687AbeLDLEs (ORCPT + 99 others); Tue, 4 Dec 2018 06:04:48 -0500 Received: from mail.kernel.org ([198.145.29.99]:52046 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728042AbeLDLEq (ORCPT ); Tue, 4 Dec 2018 06:04:46 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 98BF12151B; Tue, 4 Dec 2018 11:04:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921485; bh=7i7eqlCqGviXaTqwBSDVQFoM6Wk7eIOxyZJrOOOnPW0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MZ50yyMZPgqE2TT7ogiXODC3DsCCexLE+bJfH6LbggCT9hvwtORzOJTLFud4VsmNr Ub5PHyfjwDLIioUi6vPq9R4QU0ntedIz9+5JQF0p7WyApJGJUCbeNgZkPSav68/ZfP iOO6YCPYuNvY7c3reMinZGN7sP1cMwaZWYds79zQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thomas Gleixner , Ingo Molnar , Peter Zijlstra , Andy Lutomirski , Linus Torvalds , Jiri Kosina , Tom Lendacky , Josh Poimboeuf , Andrea Arcangeli , David Woodhouse , Tim Chen , Andi Kleen , Dave Hansen , Casey Schaufler , Asit Mallick , Arjan van de Ven , Jon Masters , Waiman Long , Dave Stewart , Kees Cook Subject: [PATCH 4.14 089/146] sched/smt: Expose sched_smt_present static key Date: Tue, 4 Dec 2018 11:49:35 +0100 Message-Id: <20181204103730.414711742@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103726.750894136@linuxfoundation.org> References: <20181204103726.750894136@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Thomas Gleixner tglx@linutronix.de commit 321a874a7ef85655e93b3206d0f36b4a6097f948 upstream Make the scheduler's 'sched_smt_present' static key globaly available, so it can be used in the x86 speculation control code. Provide a query function and a stub for the CONFIG_SMP=n case. Signed-off-by: Thomas Gleixner Reviewed-by: Ingo Molnar Cc: Peter Zijlstra Cc: Andy Lutomirski Cc: Linus Torvalds Cc: Jiri Kosina Cc: Tom Lendacky Cc: Josh Poimboeuf Cc: Andrea Arcangeli Cc: David Woodhouse Cc: Tim Chen Cc: Andi Kleen Cc: Dave Hansen Cc: Casey Schaufler Cc: Asit Mallick Cc: Arjan van de Ven Cc: Jon Masters Cc: Waiman Long Cc: Greg KH Cc: Dave Stewart Cc: Kees Cook Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20181125185004.430168326@linutronix.de Signed-off-by: Greg Kroah-Hartman --- include/linux/sched/smt.h | 18 ++++++++++++++++++ kernel/sched/sched.h | 4 +--- 2 files changed, 19 insertions(+), 3 deletions(-) --- /dev/null +++ b/include/linux/sched/smt.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_SCHED_SMT_H +#define _LINUX_SCHED_SMT_H + +#include + +#ifdef CONFIG_SCHED_SMT +extern struct static_key_false sched_smt_present; + +static __always_inline bool sched_smt_active(void) +{ + return static_branch_likely(&sched_smt_present); +} +#else +static inline bool sched_smt_active(void) { return false; } +#endif + +#endif --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -825,9 +826,6 @@ static inline int cpu_of(struct rq *rq) #ifdef CONFIG_SCHED_SMT - -extern struct static_key_false sched_smt_present; - extern void __update_idle_core(struct rq *rq); static inline void update_idle_core(struct rq *rq)