Messages in this thread | | | Date | Mon, 04 Jun 2012 06:13:42 -0700 | From | Arjan van de Ven <> | Subject | Re: [PATCH] cpuidle: menu: use nr_running instead of cpuload for calculating perf mult |
| |
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.
| |