From: Peter De Schrijver <pdeschrijver@nvidia•com>
To: Daniel Lezcano <daniel.lezcano@linaro•org>
Cc: Deepthi Dharwar <deepthi@linux•vnet.ibm.com>,
"linux-acpi@vger•kernel.org" <linux-acpi@vger•kernel.org>,
"linux-pm@lists•linux-foundation.org"
<linux-pm@lists•linux-foundation.org>,
Lists Linaro-dev <linaro-dev@lists•linaro.org>,
Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
Amit Kucheria <amit.kucheria@linaro•org>,
"lenb@kernel•org" <lenb@kernel•org>,
Andrew Morton <akpm@linux-foundation•org>,
Linus Torvalds <torvalds@linux-foundation•org>,
Colin Cross <ccross@android•com>, Rob Lee <rob.lee@linaro•org>,
"rjw@sisk•pl" <rjw@sisk•pl>, Kevin Hilman <khilman@ti•com>,
"linux-next@vger•kernel.org" <linux-next@vger•kernel.org>
Subject: Re: cpuidle future and improvements
Date: Mon, 18 Jun 2012 15:53:27 +0300 [thread overview]
Message-ID: <20120618125327.GB32111@tbergstrom-lnx.Nvidia.com> (raw)
In-Reply-To: <4FDF209E.7070803@linaro.org>
On Mon, Jun 18, 2012 at 02:35:42PM +0200, Daniel Lezcano wrote:
> On 06/18/2012 01:54 PM, Deepthi Dharwar wrote:
> > On 06/18/2012 02:10 PM, Daniel Lezcano wrote:
> >
> >>
> >> Dear all,
> >>
> >> A few weeks ago, Peter De Schrijver proposed a patch [1] to allow per
> >> cpu latencies. We had a discussion about this patchset because it
> >> reverse the modifications Deepthi did some months ago [2] and we may
> >> want to provide a different implementation.
> >>
> >> The Linaro Connect [3] event bring us the opportunity to meet people
> >> involved in the power management and the cpuidle area for different SoC.
> >>
> >> With the Tegra3 and big.LITTLE architecture, making per cpu latencies
> >> for cpuidle is vital.
> >>
> >> Also, the SoC vendors would like to have the ability to tune their cpu
> >> latencies through the device tree.
> >>
> >> We agreed in the following steps:
> >>
> >> 1. factor out / cleanup the cpuidle code as much as possible
> >> 2. better sharing of code amongst SoC idle drivers by moving common bits
> >> to core code
> >> 3. make the cpuidle_state structure contain only data
> >> 4. add a API to register latencies per cpu
> >
> > On huge systems especially servers, doing a cpuidle registration on a
> > per-cpu basis creates a big overhead.
> > So global registration was introduced in the first place.
> >
> > Why not have it as a configurable option or so ?
> > Architectures having uniform cpuidle state parameters can continue to
> > use global registration, else have an api to register latencies per cpu
> > as proposed. We can definitely work to see the best way to implement it.
>
> Absolutely, this is one reason I think adding a function:
>
> cpuidle_register_latencies(int cpu, struct cpuidle_latencies);
>
> makes sense if it is used only for cpus with different latencies.
> The other architecture will be kept untouched.
>
> IMHO, before adding more functionalities to cpuidle, we should cleanup
> and consolidate the code. For example, there is a dependency between
> acpi_idle and intel_idle which can be resolved with the notifiers, or
> there is intel specific code in cpuidle.c and cpuidle.h, cpu_relax is
> also introduced to cpuidle which is related to x86 not the cpuidle core,
> etc ...
>
> Cleanup the code will help to move the different bits from the arch
> specific code to the core code and reduce the impact of the core's
> modifications. That should let a common pattern to emerge and will
> facilitate the modifications in the future (per cpu latencies is one of
> them).
>
> That will be a lot of changes and this is why I proposed to put in place
> a cpuidle-next tree in order to consolidate all the cpuidle
> modifications people is willing to see upstream and provide better testing.
Sounds like a good idea. Do you have something like that already?
Thanks,
Peter.
next prev parent reply other threads:[~2012-06-18 12:53 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-18 8:40 cpuidle future and improvements Daniel Lezcano
2012-06-18 11:54 ` Deepthi Dharwar
2012-06-18 12:35 ` Daniel Lezcano
2012-06-18 12:53 ` Peter De Schrijver [this message]
2012-06-18 12:55 ` Daniel Lezcano
2012-06-18 13:06 ` Jean Pihet
2012-06-18 13:26 ` Daniel Lezcano
2012-06-18 13:30 ` [linux-pm] " a0393909
2012-06-25 12:58 ` Shilimkar, Santosh
2012-06-25 13:10 ` Daniel Lezcano
2012-06-25 13:17 ` Shilimkar, Santosh
2012-06-25 13:27 ` linux-next : cpuidle - could you add my tree please Daniel Lezcano
2012-06-25 22:53 ` Stephen Rothwell
2012-07-02 9:09 ` Linus Walleij
2012-07-02 12:51 ` Daniel Lezcano
2012-07-02 19:49 ` Rafael J. Wysocki
2012-07-02 22:14 ` Daniel Lezcano
2012-07-03 8:59 ` Rafael J. Wysocki
2012-07-03 12:56 ` Daniel Lezcano
2012-07-03 13:19 ` Stephen Rothwell
2012-07-03 13:25 ` Daniel Lezcano
2012-07-03 16:54 ` Rafael J. Wysocki
2012-07-05 13:33 ` Daniel Lezcano
2012-07-03 19:20 ` Linus Walleij
2012-07-03 19:33 ` Rafael J. Wysocki
2012-07-02 20:04 ` Rafael J. Wysocki
2012-06-18 18:15 ` cpuidle future and improvements Colin Cross
2012-06-18 19:00 ` Daniel Lezcano
2012-06-25 12:54 ` Daniel Lezcano
2012-07-11 14:00 ` [linux-pm] " Kevin Hilman
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=20120618125327.GB32111@tbergstrom-lnx.Nvidia.com \
--to=pdeschrijver@nvidia$(echo .)com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=amit.kucheria@linaro$(echo .)org \
--cc=ccross@android$(echo .)com \
--cc=daniel.lezcano@linaro$(echo .)org \
--cc=deepthi@linux$(echo .)vnet.ibm.com \
--cc=khilman@ti$(echo .)com \
--cc=lenb@kernel$(echo .)org \
--cc=linaro-dev@lists$(echo .)linaro.org \
--cc=linux-acpi@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-next@vger$(echo .)kernel.org \
--cc=linux-pm@lists$(echo .)linux-foundation.org \
--cc=rjw@sisk$(echo .)pl \
--cc=rob.lee@linaro$(echo .)org \
--cc=torvalds@linux-foundation$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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