Messages in this thread | | | Subject | Re: [PATCH v2 2/2] sched/cpufreq: Consider reduced CPU capacity in energy calculation | From | Lukasz Luba <> | Date | Thu, 10 Jun 2021 09:19:08 +0100 |
| |
On 6/9/21 4:01 PM, Rafael J. Wysocki wrote: > On Fri, Jun 4, 2021 at 10:10 AM Lukasz Luba <lukasz.luba@arm.com> wrote: >> >> Energy Aware Scheduling (EAS) needs to predict the decisions made by >> SchedUtil. The map_util_freq() exists to do that. >> >> There are corner cases where the max allowed frequency might be reduced >> (due to thermal). SchedUtil as a CPUFreq governor, is aware of that >> but EAS is not. This patch aims to address it. >> >> SchedUtil stores the maximum allowed frequency in >> 'sugov_policy::next_freq' field. EAS has to predict that value, which is >> the real used frequency. That value is made after a call to >> cpufreq_driver_resolve_freq() which clamps to the CPUFreq policy limits. >> In the existing code EAS is not able to predict that real frequency. >> This leads to energy estimation errors. >> >> To avoid wrong energy estimation in EAS (due to frequency miss prediction) >> make sure that the step which calculates Performance Domain frequency, >> is also aware of the allowed CPU capacity. >> >> Furthermore, modify map_util_freq() to not extend the frequency value. >> Instead, use map_util_perf() to extend the util value in both places: >> SchedUtil and EAS, but for EAS clamp it to max allowed CPU capacity. >> In the end, we achieve the same desirable behavior for both subsystems >> and alignment in regards to the real CPU frequency. >> >> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> > > For the schedutil part > > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> >
Thank you Rafael!
Regards, Lukasz
| |