Re: [PATCH] cpuidle: menu: use nr_running instead of cpuload forcalculating perf mult

From: Arjan van de Ven
Date: Mon Jun 04 2012 - 09:13:41 EST


On 6/4/2012 3:32 AM, Peter Zijlstra wrote:
> On Mon, 2012-06-04 at 14:24 +0400, Vladimir Davydov wrote:
>> rq->cpuload strongly depends on cgroup hierarchy. For example, if hundreds of
>> tasks are running inside cpu:/test cgroup, the sum of cpuload over all cpus
>> won't exceed 1024 (by default). That makes the cpuidle menu governor take wrong
>> decisions, which can negatively affect overall performance.
>>
>> To cope this, use nr_running last seen in __update_cpu_load() instead of
>> cpuload for calculating performance multiplier.
>
> What is cpuidle trying to do?

what it is doing is trying to use "cpuload" as proxy for performance
sensitivity. The higher the load, the longer the idle period (predicted)
needs to be, for cpuidle to be willing to tolerate the latency of deeper
C states.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/