]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
sched/topology: Remove redundant dl_clear_root_domain call
authorJuri Lelli <juri.lelli@redhat.com>
Thu, 13 Mar 2025 17:11:17 +0000 (18:11 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 17 Mar 2025 10:23:42 +0000 (11:23 +0100)
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
kernel/sched/topology.c

index 363ad268a25b0f52bd29320fe213b7e38a642a18..df2d94a57e843567ac7eb24aa798d6775bebfa79 100644 (file)
@@ -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]);