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

From: Peter Zijlstra
Date: Mon Jun 04 2012 - 12:33:38 EST


On Mon, 2012-06-04 at 08:39 -0700, Arjan van de Ven wrote:

> hmm I think you're missing the whole point.

Probably.. as I've still no clue what you're wanting to do.

> > I'm just not buying load actually matters or works, if there's lots of
> > idle time load history should be low, if there's not a lot of idle time,
> > you're busy (per definition) and again load isn't important.
>
> if there is a lot of idle, load can be low or high; load is more than
> just cpu usage. it includes waiting for resources and mutexes etc.

It very much does not. The thing its using: this_cpu_load() returns
rq->cpu_load[0], does not include blocked tasks of any kind.

> if load is low, you are idle, sure (in that direction it works). If load
> is low, the heuristic that is used here will not hinder a deep C state
> choice.
>
> if there is not a lot of idle time, sure, load is high.

False, you can have 0 idle time and still have low load.

> but because idle
> time tends to be bursty, we can still be idle for, say, a millisecond
> every 10 milliseconds. In this scenario, the load average is used to
> ensure that the 200 usecond cost of exiting idle is acceptable.

So what you're saying is that if you have 1ms idle in 10ms, it might not
be a continuous 1ms. And you're using load as a measure of how many
fragments it comes apart in?

That's not making sense.

> one other way of doing this would be tracking cumulative accrued latency
> as a percentage of cpu busy time... but that's also a pretty
> approximative measure.

To what purpose? I'm completely confused now, none of what you say is
making any sense.


--
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/