All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Dufour <ldufour@linux.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, tglx@linutronix.de,
	dave.hansen@linux.intel.com, mingo@redhat.com, bp@alien8.de,
	rui.zhang@intel.com
Subject: [PATCH v4 05/10] cpu/SMT: Remove topology_smt_supported()
Date: Wed,  5 Jul 2023 16:51:38 +0200	[thread overview]
Message-ID: <20230705145143.40545-6-ldufour@linux.ibm.com> (raw)
In-Reply-To: <20230705145143.40545-1-ldufour@linux.ibm.com>

Since the maximum number of threads is now passed to
cpu_smt_set_num_threads(), checking that value is enough to know if SMT is
supported.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
---
 arch/x86/include/asm/topology.h | 2 --
 arch/x86/kernel/smpboot.c       | 8 --------
 kernel/cpu.c                    | 4 ++--
 3 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index ae49ed4417d0..3235ba1e5b06 100644
--- a/arch/x86/include/asm/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -141,7 +141,6 @@ static inline int topology_max_smt_threads(void)
 int topology_update_package_map(unsigned int apicid, unsigned int cpu);
 int topology_update_die_map(unsigned int dieid, unsigned int cpu);
 int topology_phys_to_logical_pkg(unsigned int pkg);
-bool topology_smt_supported(void);
 
 extern struct cpumask __cpu_primary_thread_mask;
 #define cpu_primary_thread_mask ((const struct cpumask *)&__cpu_primary_thread_mask)
@@ -164,7 +163,6 @@ static inline int topology_phys_to_logical_pkg(unsigned int pkg) { return 0; }
 static inline int topology_max_die_per_package(void) { return 1; }
 static inline int topology_max_smt_threads(void) { return 1; }
 static inline bool topology_is_primary_thread(unsigned int cpu) { return true; }
-static inline bool topology_smt_supported(void) { return false; }
 #endif /* !CONFIG_SMP */
 
 static inline void arch_fix_phys_package_id(int num, u32 slot)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index ed2d51960a7d..f8e709fd2cd5 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -326,14 +326,6 @@ static void notrace start_secondary(void *unused)
 	cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
 }
 
-/**
- * topology_smt_supported - Check whether SMT is supported by the CPUs
- */
-bool topology_smt_supported(void)
-{
-	return smp_num_siblings > 1;
-}
-
 /**
  * topology_phys_to_logical_pkg - Map a physical package id to a logical
  * @phys_pkg:	The physical package id to map
diff --git a/kernel/cpu.c b/kernel/cpu.c
index d7dd535cb5b5..70add058e77b 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -621,7 +621,7 @@ void __init cpu_smt_set_num_threads(unsigned int num_threads,
 {
 	WARN_ON(!num_threads || (num_threads > max_threads));
 
-	if (!topology_smt_supported())
+	if (max_threads == 1)
 		cpu_smt_control = CPU_SMT_NOT_SUPPORTED;
 
 	cpu_smt_max_threads = max_threads;
@@ -1801,7 +1801,7 @@ early_param("cpuhp.parallel", parallel_bringup_parse_param);
 
 static inline bool cpuhp_smt_aware(void)
 {
-	return topology_smt_supported();
+	return cpu_smt_max_threads > 1;
 }
 
 static inline const struct cpumask *cpuhp_get_primary_thread_mask(void)
-- 
2.41.0


WARNING: multiple messages have this Message-ID (diff)
From: Laurent Dufour <ldufour@linux.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: linux-arch@vger.kernel.org, dave.hansen@linux.intel.com,
	linux-kernel@vger.kernel.org, mingo@redhat.com, bp@alien8.de,
	npiggin@gmail.com, tglx@linutronix.de, rui.zhang@intel.com
Subject: [PATCH v4 05/10] cpu/SMT: Remove topology_smt_supported()
Date: Wed,  5 Jul 2023 16:51:38 +0200	[thread overview]
Message-ID: <20230705145143.40545-6-ldufour@linux.ibm.com> (raw)
In-Reply-To: <20230705145143.40545-1-ldufour@linux.ibm.com>

Since the maximum number of threads is now passed to
cpu_smt_set_num_threads(), checking that value is enough to know if SMT is
supported.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
---
 arch/x86/include/asm/topology.h | 2 --
 arch/x86/kernel/smpboot.c       | 8 --------
 kernel/cpu.c                    | 4 ++--
 3 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h
index ae49ed4417d0..3235ba1e5b06 100644
--- a/arch/x86/include/asm/topology.h
+++ b/arch/x86/include/asm/topology.h
@@ -141,7 +141,6 @@ static inline int topology_max_smt_threads(void)
 int topology_update_package_map(unsigned int apicid, unsigned int cpu);
 int topology_update_die_map(unsigned int dieid, unsigned int cpu);
 int topology_phys_to_logical_pkg(unsigned int pkg);
-bool topology_smt_supported(void);
 
 extern struct cpumask __cpu_primary_thread_mask;
 #define cpu_primary_thread_mask ((const struct cpumask *)&__cpu_primary_thread_mask)
@@ -164,7 +163,6 @@ static inline int topology_phys_to_logical_pkg(unsigned int pkg) { return 0; }
 static inline int topology_max_die_per_package(void) { return 1; }
 static inline int topology_max_smt_threads(void) { return 1; }
 static inline bool topology_is_primary_thread(unsigned int cpu) { return true; }
-static inline bool topology_smt_supported(void) { return false; }
 #endif /* !CONFIG_SMP */
 
 static inline void arch_fix_phys_package_id(int num, u32 slot)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index ed2d51960a7d..f8e709fd2cd5 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -326,14 +326,6 @@ static void notrace start_secondary(void *unused)
 	cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
 }
 
-/**
- * topology_smt_supported - Check whether SMT is supported by the CPUs
- */
-bool topology_smt_supported(void)
-{
-	return smp_num_siblings > 1;
-}
-
 /**
  * topology_phys_to_logical_pkg - Map a physical package id to a logical
  * @phys_pkg:	The physical package id to map
diff --git a/kernel/cpu.c b/kernel/cpu.c
index d7dd535cb5b5..70add058e77b 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -621,7 +621,7 @@ void __init cpu_smt_set_num_threads(unsigned int num_threads,
 {
 	WARN_ON(!num_threads || (num_threads > max_threads));
 
-	if (!topology_smt_supported())
+	if (max_threads == 1)
 		cpu_smt_control = CPU_SMT_NOT_SUPPORTED;
 
 	cpu_smt_max_threads = max_threads;
@@ -1801,7 +1801,7 @@ early_param("cpuhp.parallel", parallel_bringup_parse_param);
 
 static inline bool cpuhp_smt_aware(void)
 {
-	return topology_smt_supported();
+	return cpu_smt_max_threads > 1;
 }
 
 static inline const struct cpumask *cpuhp_get_primary_thread_mask(void)
-- 
2.41.0


  parent reply	other threads:[~2023-07-05 14:52 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-05 14:51 [PATCH v4 00/10] Introduce SMT level and add PowerPC support Laurent Dufour
2023-07-05 14:51 ` Laurent Dufour
2023-07-05 14:51 ` [PATCH v4 01/10] cpu/hotplug: remove dependancy against cpu_primary_thread_mask Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] cpu/hotplug: Remove " tip-bot2 for Laurent Dufour
2023-07-05 14:51 ` [PATCH v4 02/10] cpu/SMT: Move SMT prototypes into cpu_smt.h Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] " tip-bot2 for Michael Ellerman
2023-07-05 14:51 ` [PATCH v4 03/10] cpu/SMT: Move smt/control simple exit cases earlier Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] " tip-bot2 for Michael Ellerman
2023-07-05 14:51 ` [PATCH v4 04/10] cpu/SMT: Store the current/max number of threads Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] " tip-bot2 for Michael Ellerman
2023-07-05 14:51 ` Laurent Dufour [this message]
2023-07-05 14:51   ` [PATCH v4 05/10] cpu/SMT: Remove topology_smt_supported() Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] " tip-bot2 for Laurent Dufour
2023-07-05 14:51 ` [PATCH v4 06/10] cpu/SMT: Create topology_smt_thread_allowed() Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] " tip-bot2 for Michael Ellerman
2023-07-05 14:51 ` [PATCH v4 07/10] cpu/SMT: Allow enabling partial SMT states via sysfs Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-07-28  7:57   ` [tip: smp/core] " tip-bot2 for Michael Ellerman
2024-04-08 14:13   ` [PATCH v4 07/10] " Michal Suchánek
2024-04-08 14:13     ` Michal Suchánek
2023-07-05 14:51 ` [PATCH v4 08/10] powerpc/pseries: Initialise CPU hotplug callbacks earlier Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-08-14 10:51   ` Srikar Dronamraju
2023-08-14 10:51     ` Srikar Dronamraju
2023-07-05 14:51 ` [PATCH v4 09/10] powerpc: Add HOTPLUG_SMT support Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-08-14 10:52   ` Srikar Dronamraju
2023-08-14 10:52     ` Srikar Dronamraju
2023-07-05 14:51 ` [PATCH v4 10/10] powerpc/pseries: Honour current SMT state when DLPAR onlining CPUs Laurent Dufour
2023-07-05 14:51   ` Laurent Dufour
2023-08-14 10:53   ` Srikar Dronamraju
2023-08-14 10:53     ` Srikar Dronamraju
2023-07-09 15:25 ` [PATCH v4 00/10] Introduce SMT level and add PowerPC support Zhang, Rui
2023-07-09 15:25   ` Zhang, Rui
2023-07-10  9:08   ` Laurent Dufour
2023-07-10  9:08     ` Laurent Dufour
2023-07-28  7:40   ` Thomas Gleixner
2023-07-28  7:40     ` Thomas Gleixner
2023-07-28 14:23     ` Zhang, Rui
2023-07-28 14:23       ` Zhang, Rui
2023-07-28 14:51       ` Thomas Gleixner
2023-07-28 14:51         ` Thomas Gleixner
2023-07-28  7:58 ` Thomas Gleixner
2023-07-28  7:58   ` Thomas Gleixner
2023-07-31 11:55   ` Laurent Dufour
2023-07-31 11:55     ` Laurent Dufour
2023-08-10  6:23   ` Michael Ellerman
2023-08-10  6:23     ` Michael Ellerman
2023-08-10  8:51     ` Laurent Dufour
2023-08-10  8:51       ` Laurent Dufour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230705145143.40545-6-ldufour@linux.ibm.com \
    --to=ldufour@linux.ibm.com \
    --cc=bp@alien8.de \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dave.hansen@linux.intel.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=rui.zhang@intel.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.