From: Len Brown <lenb@kernel.org>
To: Mike Chan <mike@android.com>
Cc: Linux Power Management List <linux-pm@lists.osdl.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-acpi@vger.kernel.org
Subject: Re: RFC: /sys/power/policy_preference
Date: Fri, 18 Jun 2010 02:25:01 -0400 (EDT) [thread overview]
Message-ID: <alpine.LFD.2.00.1006180156460.7628@localhost.localdomain> (raw)
In-Reply-To: <AANLkTilkblF0tfSnvLdVZVOi0r-dc32uAMuaiUlKesdn@mail.gmail.com>
On Thu, 17 Jun 2010, Mike Chan wrote:
> On Wed, Jun 16, 2010 at 2:05 PM, Len Brown <lenb@kernel.org> wrote:
> > Create /sys/power/policy_preference, giving user-space
> > the ability to express its preference for kernel based
> > power vs. performance decisions in a single place.
> >
> > This gives kernel sub-systems and drivers a central place
> > to discover this system-wide policy preference.
> > It also allows user-space to not have to be updated
> > every time a sub-system or driver adds a new power/perf knob.
> >
>
> This might be ok as a convince feature for userspace, but if that is
> the sole intention, is 5 states enough?
>
> Are these values sufficient? I
> can say at least for Android this will probably won't be as useful
> (but perhaps on your platforms it makes sense).
Honestly, my first thought was to use 100 values -- a percentage.
But I got quickly taked out of it by people much wiser than me.
Consider that the vendors that are cleaning Linux's clock
on laptops seem quite content with 3 values at the user-interface.
So one might argue that 5 levels is already 66% more complexity
than needed:-)
Some suggested special case states, eg for HPC.
But those needs didn't fit into this simple power vs performance
continuum, and every consumer of this interface needs to undertand
every state, so adding special states would be a mistake.
The folks that do HPC and the folks that do embedded devices
are smart enough to tune their systems without using this
rather blunt instrument. They should continue to do so,
and this mechanism should not get in their way.
For example, if this mechanism is used to update powersave_bias
inside ondemand, but at the same time somebody tunes powersave_bias
by hand, the by-hand tuning must win.
> As for a place for subsystems and drivers to check for what
> performance mode you're in, do my driver how to check two places now?
> Whats stopping someone from overriding cpufreq, or cpuidle? I might be
> confused here (if I am someone please correct me) but isn't this
> somewhat along he lines of pm runtime / pm qos if drivers want to
> check what power / performance state the system is in?
pm runtime and pm qos are much bigger hammers, and this
mechanism is intended to complement them, not replace them.
Simply stated, this mechanism is intended just to give
a global hint of the user's power vs. performance preference
at a given time. There are places in the kernel and drivers
where power vs performance decisions are made with zero
concept of user preference, and this hint can help there.
Other parts of the kernel don't care, or have sufficient
information to make informed decisions, and thus they
simply wouldn't need to make use of this hint.
thanks,
Len Brown, Intel Open Source Technology Center
next prev parent reply other threads:[~2010-06-18 6:25 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-16 21:05 RFC: /sys/power/policy_preference Len Brown
2010-06-16 22:12 ` Jason Chagas
2010-06-17 18:44 ` Len Brown
2010-06-17 6:03 ` [linux-pm] " Igor.Stoppa
2010-06-17 19:00 ` Len Brown
2010-06-17 16:14 ` Victor Lowther
2010-06-17 19:02 ` Len Brown
2010-06-17 22:23 ` Victor Lowther
2010-06-18 5:56 ` Len Brown
2010-06-18 11:55 ` Victor Lowther
2010-06-19 15:17 ` Vaidyanathan Srinivasan
2010-06-19 19:04 ` Rafael J. Wysocki
2010-06-17 20:48 ` Mike Chan
2010-06-18 6:25 ` Len Brown [this message]
2010-06-21 20:10 ` [linux-pm] " Dipankar Sarma
2010-09-28 16:17 ` x86_energy_perf_policy.c Len Brown
2010-10-23 4:40 ` [PATCH] tools: add x86_energy_perf_policy to program MSR_IA32_ENERGY_PERF_BIAS Len Brown
[not found] ` <alpine.LFD.2.00.1010230035360.29399@localhost.localdomain>
2010-10-27 3:23 ` Andrew Morton
[not found] ` <20101026202307.c028e26c.akpm@linux-foundation.org>
2010-10-27 6:01 ` Ingo Molnar
[not found] ` <20101027060139.GB5603@elte.hu>
2010-10-27 11:43 ` Arnaldo Carvalho de Melo
2010-11-15 16:07 ` [PATCH RESEND] tools: add power/x86/x86_energy_perf_policy " Len Brown
[not found] ` <alpine.LFD.2.00.1011151103280.2939@x980>
2010-11-17 11:35 ` Andi Kleen
[not found] ` <8739r0rxlz.fsf@basil.nowhere.org>
2010-11-22 20:13 ` Len Brown
[not found] ` <alpine.LFD.2.00.1011221348200.19247@x980>
2010-11-22 20:33 ` Andi Kleen
[not found] ` <20101122203359.GD21836@basil.fritz.box>
2010-11-23 4:48 ` Len Brown
2010-11-24 5:31 ` [PATCH v2] tools: create power/x86/x86_energy_perf_policy Len Brown
[not found] ` <alpine.LFD.2.00.1011240028470.20657@x980>
2010-11-25 5:52 ` Chen Gong
[not found] ` <4CEDF9BB.9030002@linux.intel.com>
2010-11-25 8:59 ` Chen Gong
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=alpine.LFD.2.00.1006180156460.7628@localhost.localdomain \
--to=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.osdl.org \
--cc=mike@android.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