Re: [patch v5 09/15] sched: add power aware scheduling in fork/exec/wake

From: Alex Shi
Date: Thu Feb 21 2013 - 09:40:18 EST

On 02/21/2013 09:33 PM, Peter Zijlstra wrote:
> On Wed, 2013-02-20 at 22:23 +0800, Alex Shi wrote:
>>> But but but,... nr_running is completely unrelated to utilization.
>> Actually, I also hesitated on the name, how about using nr_running to
>> replace group_util directly?
> The name is a secondary issue, first you need to explain why you think
> nr_running is a useful metric at all.
> You can have a high nr_running and a low utilization (a burst of
> wakeups, each waking a process that'll instantly go to sleep again), or
> low nr_running and high utilization (a single process cpu bound
> process).

It is true in periodic balance. But in fork/exec/waking timing, the
incoming processes usually need to do something before sleep again.

I use nr_running to measure how the group busy, due to 3 reasons:
1, the current performance policy doesn't use utilization too.
2, the power policy don't care load weight.
3, I tested some benchmarks, kbuild/tbench/hackbench/aim7 etc, some
benchmark results looks clear bad when use utilization. if my memory
right, the hackbench/aim7 both looks bad. I had tried many ways to
engage utilization into this balance, like use utilization only, or use
utilization * nr_running etc. but still can not find a way to recover
the lose. But with nr_running, the performance seems doesn't lose much
with power policy.

> There is absolutely no relation between utilization and nr_running,
> building something on that assumption is just wrong and broken.

I just had tried all my benchmarks dbench/loop netperf/specjbb/sysbench
etc seems the performance/power testing result are all acceptable.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at