From: Andi Kleen <ak@suse.de>
To: "Brown, Len" <len.brown@intel.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>,
Ingo Molnar <mingo@elte.hu>, Steven Rostedt <rostedt@goodmis.org>,
Andi Kleen <ak@suse.de>, Andrew Morton <akpm@osdl.org>,
acpi-devel@lists.sourceforge.net, nando@ccrma.Stanford.EDU,
rlrevell@joe-job.com, linux-kernel@vger.kernel.org,
paulmck@us.ibm.com, kr@cybsft.com, tglx@linutronix.de,
pluto@agmk.net, john.cooper@timesys.com, bene@linutronix.de,
dwalker@mvista.com, trini@kernel.crashing.org, george@mvista.com
Subject: Re: [RFC][PATCH] Runtime switching of the idle function [take 2]
Date: Tue, 29 Nov 2005 20:53:37 +0100 [thread overview]
Message-ID: <20051129195336.GP19515@wotan.suse.de> (raw)
In-Reply-To: <F7DC2337C7631D4386A2DF6E8FB22B3005456F00@hdsmsx401.amr.corp.intel.com>
On Tue, Nov 29, 2005 at 02:37:53PM -0500, Brown, Len wrote:
> idle=poll is a really bad way to go from a power perspective.
> While it is diminishing returns to get into deeper C-states,
> getting into at least C1 (HALT or MONITOR/MWAIT) is very important
> on many processors.
>
> Note that if the issue at hand is the TSC stopping in deep
> ACPI C-states, that there is a flag already available to limit
> how deep the C-states go. eg.
No i think they tried to work around the fact that
it's not synchronized on AMD systems - in particular
it drifts slightly even on single socket dual core
A64 X2s and disabling C1 works around that.
But idle=poll is too big an hammer for this. Vojtech
is working on a solution anyways that should address this
better.
> processor.max_cstate=2 will disable C3, C4 etc
> You can do this at run-time by writing to
> /sys/module/processor/parameters/max_cstate
In this case it's already C1 that's the problem,
so that won't help them.
> I agree with Andi that we have some work to do to address
> the issue directly, which is that the TSC is not reliable
> under all conditions on all processors. I think we need
We're mostly addressing it - there are problems left, but
overall it's looking good. The remaining problem is
an education issue of users to not use RDTSC directly,
but use gettimeofday/clock_gettime
One remaining use is measurements, but for that it is
already dubious (e.g. due to ticking at a possible
different frequency than the CPU). For that I want
to establish the RDPMC 0 convention.
Probably need better documentation for all of this though...
> some modes for TSC to detect and handle the cases where it either
> stops in C3 or changes speeds, vs the systems where it actually
> works the way we want it to -- constant rate that never stops.
>
> >Why not just slightly cleanup and extend (eg. to ACPI) the
> >hlt_counter thingy that many architectures already have?
>
> Hmmm, I see the floppy driver invoking hlt_counter,
> but it isn't clear what the general semantics and general
> users are supposd to be. Can you clue me in?
It's an ancient hack for an ancient machine chipset bug, but AFAIK
not used/needed on anything modern.
Should probably remove it from x86-64 too.
-Andi
next prev parent reply other threads:[~2005-11-29 19:53 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-29 19:37 [RFC][PATCH] Runtime switching of the idle function [take 2] Brown, Len
2005-11-29 19:53 ` Andi Kleen [this message]
2005-11-29 20:35 ` Lee Revell
2005-11-29 20:51 ` Andi Kleen
2005-11-29 23:55 ` Lee Revell
2005-11-30 1:06 ` Andi Kleen
2005-11-30 1:22 ` Lee Revell
2005-11-30 1:58 ` Andi Kleen
2005-11-30 2:19 ` john stultz
[not found] <20051115090827.GA20411@elte.hu>
[not found] ` <1132336954.20672.11.camel@cmn3.stanford.edu>
[not found] ` <1132350882.6874.23.camel@mindpipe>
[not found] ` <1132351533.4735.37.camel@cmn3.stanford.edu>
[not found] ` <20051118220755.GA3029@elte.hu>
[not found] ` <1132353689.4735.43.camel@cmn3.stanford.edu>
[not found] ` <1132367947.5706.11.camel@localhost.localdomain>
[not found] ` <20051124150731.GD2717@elte.hu>
2005-11-25 20:56 ` [RFC][PATCH] Runtime switching to idle_poll (was: Re: 2.6.14-rt13) Steven Rostedt
2005-11-26 13:05 ` Ingo Molnar
2005-11-29 2:48 ` [RFC][PATCH] Runtime switching of the idle function [take 2] Steven Rostedt
2005-11-29 3:02 ` Andrew Morton
2005-11-29 3:42 ` Steven Rostedt
2005-11-29 4:01 ` Andrew Morton
2005-11-29 6:44 ` Ingo Molnar
2005-11-29 6:55 ` Nick Piggin
2005-11-29 18:05 ` Andi Kleen
2005-11-29 14:19 ` Steven Rostedt
2005-11-29 14:50 ` Andi Kleen
2005-11-29 15:42 ` Steven Rostedt
2005-12-02 1:27 ` Max Krasnyansky
2005-12-02 1:45 ` Andi Kleen
2005-12-03 2:17 ` Max Krasnyansky
2005-11-29 4:22 ` john stultz
2005-11-29 14:22 ` Steven Rostedt
2005-11-29 13:08 ` Pavel Machek
2005-12-18 15:26 ` Steven Rostedt
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=20051129195336.GP19515@wotan.suse.de \
--to=ak@suse.de \
--cc=acpi-devel@lists.sourceforge.net \
--cc=akpm@osdl.org \
--cc=bene@linutronix.de \
--cc=dwalker@mvista.com \
--cc=george@mvista.com \
--cc=john.cooper@timesys.com \
--cc=kr@cybsft.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nando@ccrma.Stanford.EDU \
--cc=nickpiggin@yahoo.com.au \
--cc=paulmck@us.ibm.com \
--cc=pluto@agmk.net \
--cc=rlrevell@joe-job.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=trini@kernel.crashing.org \
/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