diff options
| author | Ricardo Neri <ricardo.neri-calderon@linux.intel.com> | 2026-07-20 19:43:21 -0700 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-08-07 18:27:11 +0200 |
| commit | 7fd540b1bcaf59289e6e921463037d4eadc1d75b (patch) | |
| tree | 399b60cc6268499847f3dba2351d24ad6025c312 /include/linux/dfl.h | |
| parent | 0fbd428d078876cefe908efdbee47a4d5adc5f24 (diff) | |
sched/fair: Allow load balancing between CPUs of identical capacity
sched_balance_find_src_rq() avoids selecting a runqueue with a single
running task as busiest if doing so results in migrating the task to a
CPU with less than ~5% of extra capacity. It also unintentionally
prevents migrations between CPUs of identical capacity.
When CONFIG_SCHED_CLUSTER is enabled, load should be balanced across
clusters of CPUs with the same capacity. Allowing migration between CPUs
of identical capacity is necessary to meet this goal.
Use get_actual_cpu_capacity() to reflect architectural capacity as well
as diminished capacity due to hardware or cpufreq pressure. Guard this
check with the sched_cluster_active static key so that systems without
cluster topology are unaffected.
Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Christian Loehle <christian.loehle@arm.com>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Tested-by: Christian Loehle <christian.loehle@arm.com>
Tested-by: Andrea Righi <arighi@nvidia.com>
Link: https://patch.msgid.link/20260720-rneri-fix-cas-clusters-v6-5-bb500bf4afd4@linux.intel.com
Diffstat (limited to 'include/linux/dfl.h')
0 files changed, 0 insertions, 0 deletions
