• Pierre Gondois's avatar
    cpufreq: Rebuild sched-domains when removing cpufreq driver · e7a1b32e
    Pierre Gondois authored
    The Energy Aware Scheduler (EAS) relies on the schedutil governor.
    When moving to/from the schedutil governor, sched domains must be
    rebuilt to allow re-evaluating the enablement conditions of EAS.
    This is done through sched_cpufreq_governor_change().
    
    Having a cpufreq governor assumes a cpufreq driver is running.
    Inserting/removing a cpufreq driver should trigger a re-evaluation
    of EAS enablement conditions, avoiding to see EAS enabled when
    removing a running cpufreq driver.
    
    Rebuild the sched domains in schedutil's sugov_init()/sugov_exit(),
    allowing to check EAS's enablement condition whenever schedutil
    governor is initialized/exited from.
    Move relevant code up in schedutil.c to avoid a split and conditional
    function declaration.
    Rename sched_cpufreq_governor_change() to sugov_eas_rebuild_sd().
    Signed-off-by: default avatarPierre Gondois <pierre.gondois@arm.com>
    Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    e7a1b32e
cpufreq.c 77.8 KB