diff options
author | Juri Lelli <juri.lelli@redhat.com> | 2025-03-13 18:11:17 +0100 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2025-03-17 11:23:42 +0100 |
commit | d735bab3d58c4c96e67037490d19d35392065da9 (patch) | |
tree | 4aca02c7e3c3e126136366feba3c6948ef36176f | |
parent | 2ff899e3516437354204423ef0a94994717b8e6a (diff) |
sched/topology: Remove redundant dl_clear_root_domain call
We completely clean and restore root domains bandwidth accounting after
every root domains change, so the dl_clear_root_domain() call in
partition_sched_domains_locked() is redundant.
Remove it.
Signed-off-by: Juri Lelli <juri.lelli@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Waiman Long <llong@redhat.com>
Reviewed-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Tested-by: Waiman Long <longman@redhat.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Link: https://lore.kernel.org/r/Z9MRtcX4tz4tcLRR@jlelli-thinkpadt14gen4.remote.csb
-rw-r--r-- | kernel/sched/topology.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 363ad268a25b..df2d94a57e84 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -2720,21 +2720,8 @@ void partition_sched_domains_locked(int ndoms_new, cpumask_var_t doms_new[], for (i = 0; i < ndoms_cur; i++) { for (j = 0; j < n && !new_topology; j++) { if (cpumask_equal(doms_cur[i], doms_new[j]) && - dattrs_equal(dattr_cur, i, dattr_new, j)) { - struct root_domain *rd; - - /* - * This domain won't be destroyed and as such - * its dl_bw->total_bw needs to be cleared. - * Tasks contribution will be then recomputed - * in function dl_update_tasks_root_domain(), - * dl_servers contribution in function - * dl_restore_server_root_domain(). - */ - rd = cpu_rq(cpumask_any(doms_cur[i]))->rd; - dl_clear_root_domain(rd); + dattrs_equal(dattr_cur, i, dattr_new, j)) goto match1; - } } /* No match - a current sched domain not in new doms_new[] */ detach_destroy_domains(doms_cur[i]); |