From patchwork Mon Aug 7 13:53:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Gleixner X-Patchwork-Id: 132109 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp1497374vqr; Mon, 7 Aug 2023 07:38:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFWGg7FqPq+/brG5D6ewVWDz0We2qAe2YPyJNwPNLo42dKgM5JGB4fLuKCEBO96n1uMfxQE X-Received: by 2002:a05:6a20:1612:b0:13e:14f9:294d with SMTP id l18-20020a056a20161200b0013e14f9294dmr9760167pzj.58.1691419115033; Mon, 07 Aug 2023 07:38:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691419115; cv=none; d=google.com; s=arc-20160816; b=nSUuwm3V754KBhSbvYQOT4xYEw+J1TOHu3UhXVBL30m+fhMUNNYyD+fIfLl7lb6b8p JtaXmTUn4U8IruHikJu4fE9d0O6u1sAnSdX78SGhExLZF3reHkemzNY++qIjBarelQ9o bPDPt1X7jePXIMOj1ut0mDD558M2xd1t/LqemttBblHqqw6Kh3UtpRnIQe51obuKKY9k uupmuQWEK0TAhNrHq9jP6O2yp5SrDWHgrdOWsGM5MeOsFGoMKXpHderF3ky77UP6Lfm+ TPTUWlxtTO5qzBrt0Et5jHwi540cnPywWeEpZiZb3ZUKw9YsQulHtcthD3x8aZnpAd00 Y6Qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:mime-version:references:subject:cc:to:from :dkim-signature:dkim-signature:message-id; bh=Es3P3wUc8dTCX9Wd6cL1INpIUVEDH8jUOH/8KtNoObI=; fh=/92WVKYrcN3rA268QXyKzVtm/UtxHeI2lnbU295XDiQ=; b=Q30I1RYf65lHyQIUh2enumfMT85oQpq6wIBb7PopJEQWR1QLUkvcCc5zicACP+6bVt bcb5MVelXaOv4rRrP03vcWuBYNcoqGr7f1g/6sIKPeyWWZuaUYveMHiJh62qpbJChThv jptXkCeyxKg20KkECpnXUuCwQUR/oIYzXd61wZh1d1JRyGnpxZu75pjMpHcJB0l2sgUH 3nm/yKsRQmH1EMBSeRcBXPtT6yL8P/BmX6zlmvMPxvsPSXbsQRDA5gWoEVoSymIvpwhX 61pLalx2ootplMgONOWjoQZeI0MVmF+KJ3sb4/ppuRg3AbiQ3uKr16Lf+tXoDWYOsbdV fQFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=JmooD2zO; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j15-20020a170903024f00b001bba90f8b73si6152904plh.78.2023.08.07.07.38.17; Mon, 07 Aug 2023 07:38:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=JmooD2zO; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231567AbjHGN4q (ORCPT + 99 others); Mon, 7 Aug 2023 09:56:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234609AbjHGN4Q (ORCPT ); Mon, 7 Aug 2023 09:56:16 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CFAC3586 for ; Mon, 7 Aug 2023 06:54:07 -0700 (PDT) Message-ID: <20230807135029.009917769@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1691416430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=Es3P3wUc8dTCX9Wd6cL1INpIUVEDH8jUOH/8KtNoObI=; b=JmooD2zOj8ZSgid2qaMEmTu0hVqCsJ/pfVNVxByLZNFYmJyOQw3qGRis4XgW04AHeRRn2Q LlobDT5i4qfXxuNikzUiYOA595Dxo7VWipOCwv+xJT4JQ0lMtxg9Fq8wSXQGrJx2QPRdgK Vd0BoA+tl3qiHwAt8xUQubIw7a4hsQGrYcJrSnNSLI92QZ4frbN41mRaca3WryQtyC4l/w upxCrke/7xK/UE0WfnRWOiXdaZzYQEBdD92BOrn87BSccs3IyWbr93qaHk4ogjj0mT5My8 IrNuC+yXcYRP7yUqBzUtRJw/uIMqbZUtbyTrGCYTSohNNJAXWm0hkeJuSviOXA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1691416430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=Es3P3wUc8dTCX9Wd6cL1INpIUVEDH8jUOH/8KtNoObI=; b=0rYCcFEPJqde2sSSM+Q1geAOPdxC8o0eSV/c7KAL2Rp7xHdaqeytT9E9GTXf1IAjyPMBO3 H5dOeX9uMVOq3cBA== From: Thomas Gleixner To: LKML Cc: x86@kernel.org, Tom Lendacky , Andrew Cooper , Arjan van de Ven , Huang Rui , Juergen Gross , Dimitri Sivanich , Michael Kelley , Sohil Mehta , K Prateek Nayak , Kan Liang , Zhang Rui , "Paul E. McKenney" , Feng Tang , Andy Shevchenko Subject: [patch 49/53] x86: Use topology functions instead of smp_num_siblings where applicable References: <20230807130108.853357011@linutronix.de> MIME-Version: 1.0 Date: Mon, 7 Aug 2023 15:53:50 +0200 (CEST) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773581489970761591 X-GMAIL-MSGID: 1773581489970761591 Accessors exist for a reason. Signed-off-by: Thomas Gleixner --- arch/x86/include/asm/perf_event_p4.h | 11 ++--------- arch/x86/kernel/process.c | 2 +- arch/x86/kernel/smpboot.c | 2 +- 3 files changed, 4 insertions(+), 11 deletions(-) --- a/arch/x86/include/asm/perf_event_p4.h +++ b/arch/x86/include/asm/perf_event_p4.h @@ -180,19 +180,12 @@ static inline u64 p4_clear_ht_bit(u64 co static inline int p4_ht_active(void) { -#ifdef CONFIG_SMP - return smp_num_siblings > 1; -#endif - return 0; + return topology_smt_supported(); } static inline int p4_ht_thread(int cpu) { -#ifdef CONFIG_SMP - if (smp_num_siblings == 2) - return cpu != cpumask_first(this_cpu_cpumask_var_ptr(cpu_sibling_map)); -#endif - return 0; + return !topology_is_primary_thread(cpu); } static inline int p4_should_swap_ts(u64 config, int cpu) --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -924,7 +924,7 @@ static __cpuidle void mwait_idle(void) void select_idle_routine(const struct cpuinfo_x86 *c) { #ifdef CONFIG_SMP - if (boot_option_idle_override == IDLE_POLL && smp_num_siblings > 1) + if (boot_option_idle_override == IDLE_POLL && topology_smt_supported()) pr_warn_once("WARNING: polling idle and HT enabled, performance may degrade\n"); #endif if (x86_idle_set() || boot_option_idle_override == IDLE_POLL) --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -573,7 +573,7 @@ static void __init build_sched_topology( void set_cpu_sibling_map(int cpu) { - bool has_smt = smp_num_siblings > 1; + bool has_smt = topology_smt_supported(); bool has_mp = has_smt || boot_cpu_data.x86_max_cores > 1; struct cpuinfo_x86 *c = &cpu_data(cpu); struct cpuinfo_x86 *o;