Messages in this thread | | | Date | Thu, 21 Feb 2013 22:40:07 +0800 | From | Alex Shi <> | Subject | Re: [patch v5 09/15] sched: add power aware scheduling in fork/exec/wake |
| |
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.
> > >
-- Thanks Alex
| |