From: Andi Kleen <andi@firstfloor.org>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Andi Kleen <andi@firstfloor.org>,
linux-kernel@vger.kernel.org, mingo@elte.hu,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca,
josh@joshtriplett.org, dvhltc@us.ibm.com, niv@us.ibm.com,
tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org,
Valdis.Kletnieks@vt.edu, dhowells@redhat.com,
arjan@infradead.org
Subject: Re: [PATCH RFC tip/core/rcu] accelerate grace period if last non-dynticked CPU
Date: Wed, 27 Jan 2010 11:13:42 +0100 [thread overview]
Message-ID: <20100127101342.GC12522@basil.fritz.box> (raw)
In-Reply-To: <20100127100136.GM6807@linux.vnet.ibm.com>
> > Can't you simply check that at runtime then?
> >
> > if (num_possible_cpus() > 20)
> > ...
> >
> > BTW the new small is large. This years high end desktop PC will come with
> > upto 12 CPU threads. It would likely be challenging to find a good
> > number for 20 that holds up with the future.
>
> And this was another line of reasoning that lead me to the extra kernel
> config parameter.
Which doesn't solve the problem at all.
> > Or better perhaps have some threshold that you don't do it
> > that often, or only do it when you expect to be idle for a long
> > enough time that the CPU can enter deeper idle states
> >
> > (I higher idle states some more wakeups typically don't matter
> > that much)
> >
> > The cpufreq/cstate governour have a reasonable good idea
> > now how "idle" the system is and will be. Maybe you can reuse
> > that information somehow.
>
> My first thought was to find an existing "I am a small device running on
> battery power" or "low power consumption is critical to me" config
> parameter. I didn't find anything that looked like that. If there was
> one, I would make RCU_FAST_NO_HZ depend on it.
>
> Or did I miss some kernel parameter or API?
There are a few for scalability (e.g. numa_distance()), but they're
obscure. The really good ones are just known somewhere.
But I think in this case scalability is not the key thing to check
for, but expected idle latency. Even on a large system if near all
CPUs are idle spending some time to keep them idle even longer is a good
thing. But only if the CPUs actually benefit from long idle.
There's the "pm_qos_latency" frame work that could be used for this
in theory, but it's not 100% the right match because it's not
dynamic.
Unfortunately last time I looked the interfaces were rather clumpsy
(e.g. don't allow interrupt level notifiers)
Better would be some insight into the expected future latency:
look at exporting this information from the various frequency/idle
governours.
Perhaps pm_qos_latency could be extended to support that?
CC Arjan, maybe he has some ideas on that.
After all of that there would be still of course the question
what the right latency threshold would be, but at least that's
a much easier question that number of CPUs.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
next prev parent reply other threads:[~2010-01-27 10:13 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-25 3:48 [PATCH RFC tip/core/rcu] accelerate grace period if last non-dynticked CPU Paul E. McKenney
2010-01-25 12:28 ` Lai Jiangshan
2010-01-25 12:35 ` Peter Zijlstra
2010-01-25 15:08 ` Steven Rostedt
2010-01-27 5:17 ` Paul E. McKenney
2010-01-25 15:12 ` Steven Rostedt
2010-01-27 14:11 ` Paul E. McKenney
2010-01-27 14:52 ` Steven Rostedt
2010-01-26 21:30 ` Andi Kleen
2010-01-26 23:55 ` Mathieu Desnoyers
2010-01-27 5:21 ` Paul E. McKenney
2010-01-27 5:20 ` Paul E. McKenney
2010-01-27 9:43 ` Andi Kleen
2010-01-27 9:50 ` Peter Zijlstra
2010-01-27 10:00 ` Andi Kleen
2010-01-27 10:04 ` Paul E. McKenney
2010-01-27 11:39 ` Nick Piggin
2010-01-27 11:59 ` Paul E. McKenney
2010-01-27 10:01 ` Paul E. McKenney
2010-01-27 10:13 ` Andi Kleen [this message]
2010-01-27 11:44 ` Paul E. McKenney
2010-01-27 12:11 ` Andi Kleen
2010-01-27 13:23 ` Paul E. McKenney
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=20100127101342.GC12522@basil.fritz.box \
--to=andi@firstfloor.org \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=dvhltc@us.ibm.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=mingo@elte.hu \
--cc=niv@us.ibm.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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