mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
topology: Introduce cpu_smt_mask for CONFIG_SCHED_SMT=n
Define cpu_smt_mask in case of CONFIG_SCHED_SMT=n as cpumask_of that CPU. With that config, it is expected that kernel treats each CPU as individual core. Using cpumask_of(cpu) reflects that. This would help to get rid of the ifdeffery that is spread across the codebase since cpu_smt_mask is defined only in case of CONFIG_SCHED_SMT=y. Note: There is no arch today which defines cpu_smt_mask unconditionally. So likely defining the cpu_smt_mask shouldn't lead redefinition errors. Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Phil Auld <pauld@redhat.com> Reviewed-by: Valentin Schneider <vschneid@redhat.com> Tested-by: K Prateek Nayak <kprateek.nayak@amd.com> Link: https://patch.msgid.link/20260515172456.542799-2-sshegde@linux.ibm.com
This commit is contained in:
committed by
Peter Zijlstra
parent
6d2051403d
commit
815c5cb76a
@@ -230,11 +230,24 @@ static inline int cpu_to_mem(int cpu)
|
||||
#define topology_drawer_cpumask(cpu) cpumask_of(cpu)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SCHED_SMT) && !defined(cpu_smt_mask)
|
||||
/*
|
||||
* Defining cpu_smt_mask as cpumask_of that CPU helps to get
|
||||
* rid of lot of ifdeffery all around the codebase in case of
|
||||
* CONFIG_SCHED_SMT=n. It just means there are no other siblings, which
|
||||
* is what is expected.
|
||||
*/
|
||||
#if defined(CONFIG_SCHED_SMT)
|
||||
# if !defined(cpu_smt_mask)
|
||||
static inline const struct cpumask *cpu_smt_mask(int cpu)
|
||||
{
|
||||
return topology_sibling_cpumask(cpu);
|
||||
}
|
||||
# endif
|
||||
#else /* !CONFIG_SCHED_SMT */
|
||||
static inline const struct cpumask *cpu_smt_mask(int cpu)
|
||||
{
|
||||
return cpumask_of(cpu);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef topology_is_primary_thread
|
||||
|
||||
Reference in New Issue
Block a user