sched: Unify SMT active check via sched_smt_active()

There is a use of sched_smt_active() and explicit use of sched_smt_present.
Remove the explicit usage for better code maintenance and readability.

Note that this differs slightly for update_idle_core. It used to call
static_branch_unlikely earlier and now it will call static_branch_likely.

Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://patch.msgid.link/20260515172456.542799-5-sshegde@linux.ibm.com
This commit is contained in:
Shrikanth Hegde
2026-05-15 22:54:56 +05:30
committed by Peter Zijlstra
parent 3dbb362f90
commit acbdbab75f
3 changed files with 3 additions and 3 deletions

View File

@@ -136,7 +136,7 @@ int sched_core_share_pid(unsigned int cmd, pid_t pid, enum pid_type type,
struct pid *grp;
int err = 0;
if (!static_branch_likely(&sched_smt_present))
if (!sched_smt_active())
return -ENODEV;
BUILD_BUG_ON(PR_SCHED_CORE_SCOPE_THREAD != PIDTYPE_PID);

View File

@@ -2247,7 +2247,7 @@ numa_type numa_classify(unsigned int imbalance_pct,
static inline bool test_idle_cores(int cpu);
static inline int numa_idle_core(int idle_core, int cpu)
{
if (!static_branch_likely(&sched_smt_present) ||
if (!sched_smt_active() ||
idle_core >= 0 || !test_idle_cores(cpu))
return idle_core;

View File

@@ -1671,7 +1671,7 @@ extern void __update_idle_core(struct rq *rq);
static inline void update_idle_core(struct rq *rq)
{
if (static_branch_unlikely(&sched_smt_present))
if (sched_smt_active())
__update_idle_core(rq);
}