From: Mike Chan <mike@android.com>
To: Len Brown <lenb@kernel.org>
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: Thu, 17 Jun 2010 13:48:11 -0700 [thread overview]
Message-ID: <AANLkTilkblF0tfSnvLdVZVOi0r-dc32uAMuaiUlKesdn@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1006161659140.24913@localhost.localdomain>
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).
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?
-- Mike
> policy_preference has 5 levels, from max_performance
> through max_powersave. Here is how 4 parts of the kernel
> might respond to those 5 levels:
>
> max_performance (unwilling to sacrifice any performance)
> scheduler: default (optimized for performance)
> cpuidle: disable all C-states except polling mode
> ondemand: disable all P-states except max perf
> msr_ia32_energy_perf_bias: 0 of 15
>
> performance (care primarily about performance)
> scheduler: default (optimized for performance)
> cpuidle: enable all C-states subject to QOS
> ondemand: all P-states, using no bias
> msr_ia32_energy_perf_bias: 3 of 15
>
> balanced (default)
> scheduler: enable sched_mc_power_savings
> cpuidle: enable all C-states subject to QOS
> ondemand: all P-states, powersave_bias=5
> msr_ia32_energy_perf_bias: 7 of 15
>
> powersave (can sacrifice measurable performance)
> scheduler: enable sched_smt_power_savings
> cpuidle: enable all C-states, subject to QOS
> ondemand: disable turbo mode, powersave_bias=10
> msr_ia32_energy_perf_bias: 11 of 15
>
> max_powersave (can sacrifice significant performance)
> scheduler: enable sched_smt_power_savings
> cpuidle: enable all C-states, subject to QOS
> ondemand: min P-state (do not invoke T-states)
> msr_ia32_energy_perf_bias: 15 of 15
>
> Note that today Linux is typically operating in the mode
> called "performance" above, rather than "balanced",
> which is proposed to be the default. While a system
> should work well if left in "balanced" mode, it is likely
> that some users would want to use "powersave" when on
> battery and perhaps shift to "performance" on A/C.
>
> Please let me know what you think.
>
> thanks,
> Len Brown, Intel Open Source Technology Center
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2010-06-17 20:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-16 21:05 RFC: /sys/power/policy_preference 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 [this message]
2010-06-18 6:25 ` Len Brown
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
2010-10-27 3:23 ` Andrew Morton
2010-10-27 6:01 ` Ingo Molnar
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
2010-11-17 11:35 ` Andi Kleen
2010-11-22 20:13 ` Len Brown
2010-11-22 20:33 ` Andi Kleen
2010-11-23 4:48 ` Len Brown
2010-11-24 5:31 ` [PATCH v2] tools: create power/x86/x86_energy_perf_policy Len Brown
2010-11-25 5:52 ` Chen Gong
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=AANLkTilkblF0tfSnvLdVZVOi0r-dc32uAMuaiUlKesdn@mail.gmail.com \
--to=mike@android.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.osdl.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;
as well as URLs for NNTP newsgroup(s).