From: David C Niemi <dniemi@verisign.com>
To: Arjan van de Ven <arjan@linux.intel.com>
Cc: dirk.brandewie@gmail.com, cpufreq@vger.kernel.org, rjw@sisk.pl,
deneen.t.dock@intel.com
Subject: Re: [PATCH RFC 0/1] cpufreq/x86: Add P-state driver for sandy bridge.
Date: Wed, 05 Dec 2012 16:40:04 -0500 [thread overview]
Message-ID: <50BFBF34.3090608@verisign.com> (raw)
In-Reply-To: <50BFB627.5080106@linux.intel.com>
On 12/05/12 16:01, Arjan van de Ven wrote:
> the idea that you can have separate policy and hardware is a big fallacy though.
> A good policy ends up very hardware specific, and policies of the past work poorly on todays hardware
> ("ondemand" is one of the worst case behaviors you can have on modern Intel cpus for example).
>
> While I appreciate the desire for some level of "preference" control, the split of policy and hardware in the
> way cpufreq did that really isn't the way to go forward...
>
I don't think separating policy from implementation is a fallacy at all, it is good design practice. Policy is a distillation of the "prorities and intent of the end user". It can be very high level, saying whether to prioritize single-thread performance, multi-thread performance, power savings, responsiveness coming out of idle, performance per watt on mid-level loads, etc. Maybe you can have one governor try to cater to all those things, or you have separate governors each targeting a subset of the use cases.
The problem with the existing governor configuration interfaces is that they are too detailed and too implementation-specific, as they grew out of an environment and mindset in which changing frequency was the only thing you could really control. The nice thing about the P-state driver is that it breaks new ground and can save power in new ways. But it should not repeat the mistake of just exposing implementation-specific knobs to tweak. That might be good for experimentation but it won't be good for widespread use. We should have a generalized interface between drivers and governors, for backwards and forwards compatibility reason, and obviously that interface needs work to support more modern power saving approaches like this one. What is exposed to the end user is then up to each g
overnor.
I would also say that the ondemand and performance governors are very widely used, and people will expect them to still work with any new driver. But maybe their attempts at changing frequency could be reinterpreted in new ways. All "performance" ever says is "run at frequency XXXX", and ondemand just wants to "run hardware thread x at max performance until further notice" and "now run hardware thread x at minimum power consumption". The latter would probably be easy to interpret. The former, depends on being able to set an explicit frequency any time you feel like it and have the hardware thread stay there, not sure how realistic that is.
DCN
next prev parent reply other threads:[~2012-12-05 21:40 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-05 19:01 [PATCH RFC 0/1] cpufreq/x86: Add P-state driver for sandy bridge dirk.brandewie
2012-12-05 19:01 ` [PATCH RFC 1/1] " dirk.brandewie
2012-12-05 20:28 ` [PATCH RFC 0/1] " David C Niemi
2012-12-05 21:01 ` Arjan van de Ven
2012-12-05 21:40 ` David C Niemi [this message]
2012-12-05 21:54 ` Arjan van de Ven
2012-12-06 15:01 ` David C Niemi
2012-12-06 16:27 ` Arjan van de Ven
2012-12-06 17:30 ` David C Niemi
2012-12-06 17:41 ` Arjan van de Ven
2012-12-06 18:25 ` Dirk Brandewie
2012-12-06 18:41 ` David C Niemi
2012-12-06 21:35 ` Dirk Brandewie
2012-12-06 22:23 ` David C Niemi
2012-12-06 20:45 ` Rafael J. Wysocki
2012-12-06 21:15 ` Arjan van de Ven
2012-12-06 21:26 ` Rafael J. Wysocki
2012-12-06 21:34 ` Rafael J. Wysocki
2012-12-06 22:08 ` Arjan van de Ven
2012-12-06 22:53 ` Rafael J. Wysocki
2012-12-06 16:35 ` Dirk Brandewie
2012-12-06 16:49 ` Arjan van de Ven
2012-12-06 18:16 ` David C Niemi
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=50BFBF34.3090608@verisign.com \
--to=dniemi@verisign.com \
--cc=arjan@linux.intel.com \
--cc=cpufreq@vger.kernel.org \
--cc=deneen.t.dock@intel.com \
--cc=dirk.brandewie@gmail.com \
--cc=rjw@sisk.pl \
/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).