]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched/cpufreq: Ensure sd is rebuilt for EAS check
authorChristian Loehle <christian.loehle@arm.com>
Sat, 9 Nov 2024 00:24:14 +0000 (00:24 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 12 Nov 2024 20:36:51 +0000 (21:36 +0100)
Ensure sugov_eas_rebuild_sd() is always called when sugov_init()
succeeds. The out goto initialized sugov without forcing the rebuild.

Previously the missing call to sugov_eas_rebuild_sd() could lead to EAS
not being enabled on boot when it should have been, because it requires
all policies to be controlled by schedutil while they might not have
been initialized yet.

Fixes: e7a1b32e43b1 ("cpufreq: Rebuild sched-domains when removing cpufreq driver")
Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Link: https://patch.msgid.link/35e572d9-1152-406a-9e34-2525f7548af9@arm.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
kernel/sched/cpufreq_schedutil.c

index c6ba15388ea70649f8da18d2a3fe31f7a98203da..28c77904ea749f638c196ea7989af38239b844b4 100644 (file)
@@ -783,9 +783,8 @@ static int sugov_init(struct cpufreq_policy *policy)
        if (ret)
                goto fail;
 
-       sugov_eas_rebuild_sd();
-
 out:
+       sugov_eas_rebuild_sd();
        mutex_unlock(&global_tunables_lock);
        return 0;