On 06/12/24 08:53, Lukasz Luba wrote:
This won't help. We tried different values, unfortunately the logic is flawed.
Utilization value on its own says nothing about the idleness of the system.
This is not true. When you up-migrate a task to big CPU, then CPU idle
gov can instantly benefit from utilization information and won't make
mistake based on old local history and won't use deep idle state.
So migrating the utilization from one CPU to another CPU says a lot
about the idleness to that destination CPU.
You can migrate a 1024 tasks to a bigger core, but it could run for 3ms and
sleep for 40ms. So unfortunately I have to disagree with you here.
Generally a high util value doesn't mean we are not going to be idle long
enough to satisfy min_residency of the CPU.
When Christian removed the util he got -4.5% lower score in GB5, so
this util has impact [1].
We need the idle governor to help with power saving. We can disable DVFS and
all idle states and always get a better performance.
The residency is ~50% worse on some clusters with this change. Overall power
impact is 2-4% in many use cases.
GB5 is not really a representative use case to measure the usefulness of the
idle governor. Task placement to avoid the cost of idle exit latency is
a completely different problem.