xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Trinabh Gupta <trinabh@linux.vnet.ibm.com>
To: Len Brown <lenb@kernel.org>, arjan@linux.intel.com
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	peterz@infradead.org, suresh.b.siddha@intel.com,
	benh@kernel.crashing.org, venki@google.com, ak@linux.intel.com,
	linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com
Subject: Re: [RFC PATCH V4 5/5] cpuidle: cpuidle driver for apm
Date: Thu, 24 Mar 2011 19:58:29 +0530	[thread overview]
Message-ID: <4D8B550D.5000409@linux.vnet.ibm.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1103231623450.12911@x980>



On 03/24/2011 02:02 AM, Len Brown wrote:
>>> Also wondering why you would ever have a different idle routine on
>>> different cpus?
>>
>> Yes, this is an ongoing debate. Apparently it is a possibility
>> because of ACPI bugs. CPU's can have asymmetric C-states
>> and overall different idle routines on different cpus. Please
>> refer to http://lkml.org/lkml/2009/9/24/132 and
>> https://lkml.org/lkml/2011/2/10/37 for a discussion around this.
>
> Althought the ACPI specification allows the BIOS to tell the OS
> about different C-states per-processor, I know of zero system
> in the field and zero systems in development that require that
> capability.  That isn't a guarantee that capability will never
> be used, but I'm not holding my breath.
>
> If there are systems with broken tables that make them
> appear asymetric, then we should have a workaround that handles
> that case, rather than complicating the normal code for
> the broken case.
>
> So I recommend deleting the extra per-cpu registration stuff
> unless there is some other architecture that requires it
> and can't hadle the asymmetry in another way.

Yes, lets go forward with removal of per-cpu registration
and handle rare case of asymmetry in some other may.

Using intersection or union of C-states for each cpu may
be a solution. Using intersection or lowest common C-state
has the corner case that we could have packages/cores
supporting a new lower C-state in case of thermal limit and
they would want OS to go to this state. Using intersection
or lowest common C-state may prevent this.

Another option is to use union of C-states;
but I am not sure what happens if a CPU uses a state that
is not reported for it???

Maybe there is some other way to handle asymmetry ??

>
>> I have posted a patch series that does global registration
>> i.e same idle routines for each cpu. Please check
>> http://lkml.org/lkml/2011/3/22/161 . That series applies on
>> top of this series. Global registration significantly
>> simplifies the design, but still we are not sure about the
>> direction to take.
>
> I'll review that.

Thanks; please review especially the data structure changes
https://lkml.org/lkml/2011/3/22/162

-Trinabh

  reply	other threads:[~2011-03-24 14:28 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20110322123208.28725.30945.stgit@tringupt.in.ibm.com>
     [not found] ` <20110322123324.28725.3131.stgit@tringupt.in.ibm.com>
2011-03-22 14:50   ` [RFC PATCH V4 4/5] cpuidle: driver for xen Konrad Rzeszutek Wilk
2011-03-23  9:57     ` Trinabh Gupta
2011-03-24  7:18       ` Len Brown
2011-03-24 12:05         ` Konrad Rzeszutek Wilk
2011-03-25  7:19           ` Len Brown
2011-03-25 14:43             ` Jeremy Fitzhardinge
2011-03-25 14:38           ` [Xen-devel] " Jeremy Fitzhardinge
2011-03-31  2:02             ` Len Brown
2011-03-31 21:26               ` Len Brown
2011-03-31 22:36                 ` [Xen-devel] " Jeremy Fitzhardinge
2011-04-01  3:03                   ` Len Brown
     [not found] ` <20110322123233.28725.92874.stgit@tringupt.in.ibm.com>
     [not found]   ` <alpine.LFD.2.02.1103222254420.10549@x980>
2011-03-23  9:22     ` [RFC PATCH V4 2/5] cpuidle: list based cpuidle driver registration and selection Trinabh Gupta
2011-03-23 20:51       ` Len Brown
2011-03-24  4:41         ` Len Brown
2011-03-24 14:13         ` Trinabh Gupta
2011-03-24 16:52           ` Vaidyanathan Srinivasan
2011-03-25  7:13             ` Len Brown
2011-03-25  7:05           ` Len Brown
2011-03-25 15:35             ` [Xen-devel] " Konrad Rzeszutek Wilk
2011-03-31  2:25               ` Len Brown
     [not found] ` <20110322123244.28725.32435.stgit@tringupt.in.ibm.com>
     [not found]   ` <alpine.LFD.2.02.1103222304300.10549@x980>
2011-03-23  9:31     ` [RFC PATCH V4 3/5] cpuidle: default idle driver for x86 Trinabh Gupta
2011-03-24 16:32       ` Vaidyanathan Srinivasan
     [not found] ` <20110322123223.28725.21929.stgit@tringupt.in.ibm.com>
     [not found]   ` <20110323120044.bb8c0ae1.sfr@canb.auug.org.au>
2011-03-23 10:10     ` [RFC PATCH V4 1/5] cpuidle: Remove pm_idle pointer " Trinabh Gupta
     [not found] ` <20110322123336.28725.29810.stgit@tringupt.in.ibm.com>
     [not found]   ` <20110323121458.ec7cdaf9.sfr@canb.auug.org.au>
2011-03-23 10:25     ` [RFC PATCH V4 5/5] cpuidle: cpuidle driver for apm Trinabh Gupta
2011-03-23 20:32       ` Len Brown
2011-03-24 14:28         ` Trinabh Gupta [this message]
2011-03-24 16:21           ` Vaidyanathan Srinivasan
2011-03-25  7:24           ` Len Brown
2011-03-25 18:01             ` Vaidyanathan Srinivasan
2011-03-31  2:17               ` cpuidle asymmetry (was Re: [RFC PATCH V4 5/5] cpuidle: cpuidle driver for apm) Len Brown
2011-03-31 13:18                 ` Peter Zijlstra
2011-04-01  4:09                   ` Len Brown
2011-04-01  8:15                     ` Dipankar Sarma
2011-04-01 14:38                       ` Arjan van de Ven
2011-04-03 16:18                         ` Dipankar Sarma
2011-04-01 14:02                     ` Peter Zijlstra
2011-04-04 14:32                       ` Dipankar Sarma
2011-04-05 15:01                         ` Peter Zijlstra
2011-04-05 15:48                           ` Dipankar Sarma
2011-04-01  7:02                 ` Trinabh Gupta

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=4D8B550D.5000409@linux.vnet.ibm.com \
    --to=trinabh@linux.vnet.ibm.com \
    --cc=ak@linux.intel.com \
    --cc=arjan@linux.intel.com \
    --cc=benh@kernel.crashing.org \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=sfr@canb.auug.org.au \
    --cc=suresh.b.siddha@intel.com \
    --cc=venki@google.com \
    --cc=xen-devel@lists.xensource.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;
as well as URLs for NNTP newsgroup(s).