Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp3055877rwb; Mon, 7 Aug 2023 07:38:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGRShsgDGWbBHQjMKG9PWoSCk+nKy0aW22idk1ScLv7jw0zsOz1eb5ftb9kyBs/WZWhP/qG X-Received: by 2002:a05:6a00:22c2:b0:687:3e8f:2211 with SMTP id f2-20020a056a0022c200b006873e8f2211mr9448584pfj.34.1691419096594; Mon, 07 Aug 2023 07:38:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691419096; cv=none; d=google.com; s=arc-20160816; b=einppw+N+RQkVxDdcJKJMYX96X4mkSYIEEQ3HjfjcKDdaI6Pa1dU+Oe7h3yhsRI+NM FXfrJaG/qgXTw3hMBdG683+8nMWzhTtdgkIyjh91pUUipfmnCWwtWJOsszA6bcGnN9NX neqSEoNfRWBWpye7yA8YP0cz40fvlmHPQvfLh5ySZvFcjNfXK5t9EAN2RkoA9vP0fzEV IZJlQcIajBhqRlVFNPvw0HArHsAcJYbocL9cH0K3fOh5v6UiEaQqCOoqtXcsvGyPcb34 P+8bGJ7WkY1K6Jz3tRhVOzCBFehjvx4F8EqN53WPyrJJ8uOtnvTlvK3PLCz3HjloMENW Axjw== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n49-20020a056a000d7100b006765f19e46bsi5701584pfv.147.2023.08.07.07.38.04; Mon, 07 Aug 2023 07:38:16 -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 S233117AbjHGN4p (ORCPT + 99 others); Mon, 7 Aug 2023 09:56:45 -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 Content-Type: text/plain; charset=UTF-8 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 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;