From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Arjan van de Ven <arjan@linux.intel.com>
Cc: Vladimir Davydov <vdavydov@parallels.com>,
Ingo Molnar <mingo@elte.hu>, Len Brown <lenb@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] cpuidle: menu: use nr_running instead of cpuload for calculating perf mult
Date: Mon, 04 Jun 2012 18:33:27 +0200 [thread overview]
Message-ID: <1338827607.28282.99.camel@twins> (raw)
In-Reply-To: <4FCCD6B7.4030703@linux.intel.com>
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.
next prev parent reply other threads:[~2012-06-04 16:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 10:24 [PATCH] cpuidle: menu: use nr_running instead of cpuload for calculating perf mult Vladimir Davydov
2012-06-04 10:32 ` Peter Zijlstra
2012-06-04 10:50 ` Vladimir Davydov
2012-06-04 13:13 ` Arjan van de Ven
2012-06-04 13:45 ` Peter Zijlstra
2012-06-04 13:48 ` Arjan van de Ven
2012-06-04 15:08 ` Peter Zijlstra
2012-06-04 15:14 ` Arjan van de Ven
2012-06-04 15:26 ` Peter Zijlstra
2012-06-04 15:39 ` Arjan van de Ven
2012-06-04 16:33 ` Peter Zijlstra [this message]
2012-06-04 16:53 ` Arjan van de Ven
2012-06-04 17:08 ` Vladimir Davydov
2012-06-04 17:17 ` Peter Zijlstra
2012-06-04 17:16 ` Peter Zijlstra
2012-06-04 17:25 ` Arjan van de Ven
2012-06-04 20:31 ` Peter Zijlstra
2012-06-04 20:45 ` Arjan van de Ven
2012-06-04 21:14 ` Peter Zijlstra
2012-06-04 20:40 ` Peter Zijlstra
2012-06-05 3:48 ` Mike Galbraith
2012-06-04 13:15 ` Arjan van de Ven
2012-06-04 13:19 ` Vladimir Davydov
2012-11-27 19:02 ` Vladimir Davydov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1338827607.28282.99.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=arjan@linux.intel.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=vdavydov@parallels.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox