From: Antti Miettinen <ananaza@iki.fi>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
linux-pm@vger.kernel.org,
Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>,
Amit Kucheria <amit.kucheria@linaro.org>,
Peter De Schrijver <pdeschrijver@nvidia.com>,
Nicolas Pitre <nico@linaro.org>,
Rob Herring <rob.herring@calxeda.com>,
Santosh Shilimkar <santosh.shilimkar@ti.com>,
Hanjun Guo <hanjun.guo@linaro.org>,
Mark Hambleton <mark.hambleton@broadcom.com>,
Grant Likely <grant.likely@linaro.org>,
Dave Martin <dave.martin@arm.com>,
linux-arm-kernel@lists.infradead.org,
Charles Garcia Tobin <Charles.Garcia-Tobin@arm.com>
Subject: Re: [PATCH RFC 2/2] Documentation: arm: define DT C-states bindings
Date: Tue, 10 Dec 2013 08:31:56 +0200 [thread overview]
Message-ID: <87lhztgqsj.fsf@iki.fi> (raw)
In-Reply-To: <1386001205-11978-3-git-send-email-lorenzo.pieralisi@arm.com> (Lorenzo Pieralisi's message of "Mon, 2 Dec 2013 16:20:05 +0000")
Hi Lorenzo,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> writes:
> + - latency
> + Usage: Required
> + Value type: <u32>
> + Definition: Worst case latency in microseconds required to
> + enter and exit the C-state.
> +
> + - min-residency
> + Usage: Required
> + Value type: <u32>
> + Definition: Time in microseconds required for the CPU to be in
> + the C-state to make up for the dynamic power
> + consumed to enter/exit the C-state in order to
> + break even in terms of power consumption compared
> + to C1 state (wfi).
> + This parameter depends on the operating conditions
> + (operating point, cache state) and must assume
> + worst case scenario.
I have a concern with these. I know it is not the fault of this patch as
these parameters are what current cpuidle governor/driver interface
uses, but..
Power state entry/exit latencies can be vary quite a lot. Especially CPU
and memory frequencies affect them as can e.g. PMIC properties. Also
power level during entry/exit depends on clocks and voltages. Also the
power level of a sleep state can be context dependent (clocks and
voltages). These mean that also the minimum residency for energy break
even varies. Defining a minimum residency against C1 is a bit
arbitrary. There is no guarantee that the break even order of idle
states remains constant over device context changes.
I have not really properly thought through this but here's an idea.. how
about an alternative interface between governor and driver? The cpuidle
core would provide the expected wakeup time and currently enforced
minimum latency to the driver and the driver would make the decision
about the state to choose.
--Antti
next prev parent reply other threads:[~2013-12-10 6:31 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-02 16:20 [PATCH RFC 0/2] ARM: defining power states DT bindings Lorenzo Pieralisi
[not found] ` <1386001205-11978-1-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2013-12-02 16:20 ` [PATCH RFC 1/2] Documentation: arm: add cache " Lorenzo Pieralisi
2013-12-02 17:28 ` Kumar Gala
2013-12-02 17:50 ` Lorenzo Pieralisi
2013-12-02 17:59 ` Kumar Gala
2013-12-02 18:34 ` Lorenzo Pieralisi
2013-12-04 13:29 ` Dave Martin
2013-12-04 15:00 ` Lorenzo Pieralisi
2013-12-02 16:20 ` [PATCH RFC 2/2] Documentation: arm: define DT C-states bindings Lorenzo Pieralisi
2013-12-02 18:08 ` Kumar Gala
2013-12-03 10:40 ` Lorenzo Pieralisi
2013-12-04 15:36 ` Kumar Gala
2013-12-04 16:31 ` Lorenzo Pieralisi
[not found] ` <1386001205-11978-3-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2013-12-03 11:52 ` Daniel Lezcano
2013-12-04 15:20 ` Dave Martin
2013-12-04 17:06 ` Lorenzo Pieralisi
2013-12-06 14:54 ` Vincent Guittot
2013-12-10 6:31 ` Antti Miettinen [this message]
2013-12-10 13:27 ` Lorenzo Pieralisi
2013-12-10 22:04 ` Antti Miettinen
2013-12-16 12:11 ` Lorenzo Pieralisi
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=87lhztgqsj.fsf@iki.fi \
--to=ananaza@iki.fi \
--cc=Charles.Garcia-Tobin@arm.com \
--cc=amit.kucheria@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=dave.martin@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=hanjun.guo@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=mark.hambleton@broadcom.com \
--cc=mark.rutland@arm.com \
--cc=nico@linaro.org \
--cc=pdeschrijver@nvidia.com \
--cc=rob.herring@calxeda.com \
--cc=santosh.shilimkar@ti.com \
--cc=sudeep.karkadanagesha@arm.com \
--cc=vincent.guittot@linaro.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