cpufreq.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: David C Niemi <dniemi@verisign.com>
Cc: dirk.brandewie@gmail.com, cpufreq@vger.kernel.org, rjw@sisk.pl,
	deneen.t.dock@intel.com, arjan@linux.intel.com
Subject: Re: [PATCH RFC 0/1] cpufreq/x86: Add P-state driver for sandy bridge.
Date: Thu, 06 Dec 2012 08:35:28 -0800	[thread overview]
Message-ID: <50C0C950.2070007@gmail.com> (raw)
In-Reply-To: <50BFAE5A.1010809@verisign.com>

On 12/05/2012 12:28 PM, David C Niemi wrote:
 >
 > Dirk,
 >
 > I applaud the work you are doing.

Thanks :-)

 > In general I believe it is important to
 > separate policy (governor and its settings) from the driver,
 > particularly so as different end-users have very different goals for
 > power management.

I agree as a general rule separating mechanism from policy is the
correct thing to do.  As Arajan pointed out in his replies the
"correct" policy decisions are processor architecture /
micro-architecture dependent.

For example in Sandybridge and later processors the requested
frequency during idle has no affect on power consumption the processor
will go to a minimum power state while the core is idle.  So it is
unless to worry about setting the idle frequency and adds a fair
amount of processing and complexity for no benefit in power or
performance.

An generic governor has no hope of getting this type of decision right
to take advantage of the power features of the processor whether is an
IA processor or some other architecture.

 > Not everyone is trying to maximize performance per
 > watt per se (in fact probably rather few end users are doing so
 > literally).  In server applications, for example, the first priority
 > is typically maximum performance when under heavy load, and the second
 > priority is minimum power consumption at idle.  There may not ever be
 > a benefit for choosing one of the middle clock states.

I disagree the server/data center user cares deeply about performance
per watt.  The are selling performance and watts are a cost.  Power
consumption and required cooling are big issues for the data center.

The data center does not want to leave a lot of performance on the
table so they do not need to under provision a servers to satisfy
their SLAs.

I believe that server spend most of their time somewhere between idle
and max performance where selecting an appropriate intermediate
operating frequency will have significant benefit.

The laptop/mobile user cares about performance/watt as well, maybe not
explicitly but they want their shiny new device to show the
performance they paid for with the greatest battery life possible.

The desktop user is likely the most immune to thinking/caring about
performance/watt since most users don't care about (or have a way
measure) the power consumption of the system.


 > would be nice if the new driver can be compatible with the existing
 > governor by exposing an ability to set and report current frequencies.
 > But if this is impractical or pointless for Sandy Bridge, so be it.

I agree that reporting the current frequency is important to some
utilities.  To make this work with the current cpufreq subsystem will
take some amount of refactoring of cpufreq.  I did not take on this
work yet and was hoping to to get some advice from the list on the
correct way to do this.

 > So outside of a research kernel, I don't think having a "cpufreq/snb"
 > directory is a good place to expose tuning parameters,

I agree most of the tunables should NOT be exposed to the user. The
place for the tunables was chosen to make obvious to people that
snb had replaced ondemand.

 > In the long run both integrators and
 > maintainers of Linux distributions are going to insist on a generic
 > interface that can work across the vast majority of modern hardware,
 > rather than cater to a special case that only works on one or CPU
 > families, even if those families are particularly important ones.

How this driver gets integrated in to a system is still an open
question. I can think of more than a few "reasonable" ways to
integrate this into a system.  Before I launched into creating a
solution I wanted feedback/guidance from the list.

--Dirk


  parent reply	other threads:[~2012-12-06 16:35 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
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 [this message]
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=50C0C950.2070007@gmail.com \
    --to=dirk.brandewie@gmail.com \
    --cc=arjan@linux.intel.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=deneen.t.dock@intel.com \
    --cc=dniemi@verisign.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).