mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Len Brown <lenb@kernel.org>
Cc: Trinabh Gupta <trinabh@linux.vnet.ibm.com>,
	arjan@linux.intel.com, peterz@infradead.org,
	suresh.b.siddha@intel.com, benh@kernel.crashing.org,
	venki@google.com, ak@linux.intel.com,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH V1 0/2] cpuidle: global registration of idle states with per-cpu statistics
Date: Fri, 25 Mar 2011 22:45:33 +0530	[thread overview]
Message-ID: <20110325171533.GA19214@dirshya.in.ibm.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1103250326160.32565@x980>

* Len Brown <lenb@kernel.org> [2011-03-25 03:28:59]:

> On Tue, 22 Mar 2011, Trinabh Gupta wrote:
> 
> > This patch series is an early RFC to discuss the feasibility of
> > avoiding registering of idle states from each cpu.
> > 
> > The core change is to split the cpuidle_device structure into parts
> > that can be global and parts that has to remain per-cpu.  The per-cpu
> > pieces are mostly generic statistics that can be independent of
> > current running driver.
> > 
> > Motivation:
> > * Simplify the cpuidle subsystem framework and have
> >   registration/unregistration done by single cpu.
> > 
> > * Minimise the data structure that needs to be maintained for multiple
> >   cpuidle drivers
> > 
> > * Reference: https://lkml.org/lkml/2011/2/10/37
> > 
> > Advantages:
> > * Make the cpuidle framework simple for most use cases where C-States
> >   are symmetric.  In case there are asymmetric C-States detected,
> >   fallback mechanism should be incorporated to maintain the system
> >   functional
> >   https://lkml.org/lkml/2011/2/10/257
> >   https://lkml.org/lkml/2011/2/10/37
> > 
> > * Non x86 archs that does not have asymmetric C-States like POWER, may
> >   not need the fallback mechanism and hence the framework will be
> >   simple for most use cases.
> > 
> > Disadvantages:
> > * Asymmetric C-States are part of x86 ACPI specification.  Incorrect
> >   handling may functionally affect the system
> 
> I think this is a non-issue.

Hi Len,

Thanks for the confirmation.  This gives us the right direction to
proceed with the cleanup.

> > * Incorporating per-cpu masks for each state to allow/dis-allow global
> >   states on subset of CPUs may result in an implementation that is
> >   not better than current solution of having per-cpu states.
> 
> I don't think this is needed.
> 
> > This patch series applies on top of the pm_idle cleanup patch
> > https://lkml.org/lkml/2011/3/22/150 (cpuidle: Cleanup pm_idle and 
> > include driver/cpuidle.c in-kernel)
> > 
> > This patch series is tested on x86 Nehalem system with multiple ACPI
> > C-States.
> > 
> > This patch series has limitations of not handling multiple driver
> > registration and switching between drivers on all CPUs mainly due to
> > incomplete handling of per-cpu enable/disable and driver_data.
> 
> I think this series is more important than the feature of multiple
> driver/system support, and thus should come first.

Removing pm_idle() gets us to the situation where we have to support
multiple registration to allow default_idle driver to register and do
mwait.  Your cleanup patch to x86 idle will make the transition much
simple.  Lets us have removal of pm_idle() and removal of per-cpu
registration in the same patch series as the next step.

--Vaidy


      reply	other threads:[~2011-03-25 17:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-22 12:47 Trinabh Gupta
2011-03-22 12:48 ` [RFC PATCH V1 1/2] cpuidle: Data structure changes for global cpuidle device Trinabh Gupta
2011-03-25  8:12   ` Len Brown
2011-03-25 17:48     ` Vaidyanathan Srinivasan
2011-04-02  0:03       ` Len Brown
2011-03-22 12:48 ` [RFC PATCH V1 2/2] cpuidle: API changes in callers using new cpuidle_state_stats Trinabh Gupta
2011-03-25  7:28 ` [RFC PATCH V1 0/2] cpuidle: global registration of idle states with per-cpu statistics Len Brown
2011-03-25 17:15   ` Vaidyanathan Srinivasan [this message]

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=20110325171533.GA19214@dirshya.in.ibm.com \
    --to=svaidy@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=suresh.b.siddha@intel.com \
    --cc=trinabh@linux.vnet.ibm.com \
    --cc=venki@google.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

all inboxes | Powered by JetHome®