All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Jones <davej@redhat.com>
To: Antti P Miettinen <amiettinen@nvidia.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	markgross@thegnar.org, Kevin Hilman <khilman@ti.com>,
	Len Brown <len.brown@intel.com>,
	cpufreq List <cpufreq@vger.kernel.org>, j-pihet <j-pihet@ti.com>,
	pavel@ucw.cz, Linux PM list <linux-pm@vger.kernel.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [linux-pm] [PATCH 0/2] RFC: CPU frequency max as PM QoS param
Date: Wed, 7 Mar 2012 11:59:57 -0500	[thread overview]
Message-ID: <20120307165957.GA23690@redhat.com> (raw)
In-Reply-To: <8762egyky7.fsf@amiettinen-lnx.nvidia.com>

On Wed, Mar 07, 2012 at 08:38:40AM +0200, Antti P Miettinen wrote:
 > Dave Jones <davej@redhat.com> writes:
 > > On Tue, Mar 06, 2012 at 02:23:52PM +0200, Antti P Miettinen wrote:
 > [..]
 > >  > Dave - any comments about these?
 > >  > 
 > >  > http://thread.gmane.org/gmane.linux.kernel.cpufreq/7794
 > >  > http://thread.gmane.org/gmane.linux.kernel.cpufreq/7797
 > >  > http://thread.gmane.org/gmane.linux.kernel.cpufreq/7800
 > >
 > > I really dislike how this is exposed to userspace.
 > > How is a user to know whether scaling_max_freq or cpu_freq_max takes
 > > priority ? Given the confusion we already have from users when the
 > > bios_limit enforces limits, giving them two knobs to do the same thing
 > > seems like a bad idea to me.
 > >
 > > I don't see what problem this is solving that you couldn't solve just by
 > > setting scaling_max_freq.
 > 
 > PM QoS handles multiple clients - the sysfs files are like global
 > variables: there is no arbitration/consolidation for multiple
 > clients. The sysfs files are a sort of override for system administrator
 > whereas the PM QoS is the interface applications should use.

I think exposing absolute frequencies to applications is a mistake.
(And one that the core cpufreq made a long time ago). How is an application
to decide what to set it to without knowledge of the hardware it's running on ?

I much prefer the idea that was mentioned a few weeks ago during the
discussion with Peter Zijlstra about cpufreq being more connected to
the scheduler, and essentially having per-process governors.

Each process gets a /proc/self/power-policy
This can be 'performance' 'power-save' or 'ondemand'
 - A global sysfs knob sets the default new processes get.
 - Processes can adjust it themselves if desired.
 - There's no need for a system-wide governor any more.

There are some open questions about how this could work.

- A list of rules for desired behaviour when performing state changes
  when switching between tasks with different policies is needed.

- We don't want to be doing power transitions every context switch,
  or switching overhead will be brutal.
  So some kind of lazy state changing may be necessary.

- For 'ondemand', when would the scheduler decide to ramp up/down
  the speed ?

	Dave


  reply	other threads:[~2012-03-07 16:59 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-19 12:35 [PATCH 0/2] RFC: CPU frequency max as PM QoS param Antti P Miettinen
2012-01-19 12:35 ` [PATCH 1/2] PM QoS: Add CPU frequency maximum " Antti P Miettinen
2012-01-19 12:35 ` [PATCH 2/2] cpufreq: Enforce PM QoS maximum frequency Antti P Miettinen
2012-02-16  1:06 ` [linux-pm] [PATCH 0/2] RFC: CPU frequency max as PM QoS param Kevin Hilman
2012-02-17  3:04   ` mark gross
2012-02-17  8:12     ` [linux-pm] " Valentin, Eduardo
2012-02-20 10:00       ` Antti P Miettinen
     [not found]         ` <CAGF5oy-64J3vMKvzY=NvdV-m8_wFo=NGZANF_cnVm-iq0s-wZQ@mail.gmail.com>
     [not found]           ` <20120221145632.GA2840@envy17>
     [not found]             ` <87linw5aod.fsf@ti.com>
     [not found]               ` <20120225174449.GA17141@envy17>
2012-02-27 10:17                 ` [linux-pm] " Pihet-XID, Jean
2012-02-27 11:00                   ` Antti P Miettinen
     [not found]                 ` <877gz8wcud.fsf@ti.com>
2012-02-27 15:04                   ` Antti Miettinen
2012-02-28  0:56                     ` [linux-pm] " mark gross
2012-02-28  9:37                       ` Antti P Miettinen
2012-03-04 22:46                         ` Rafael J. Wysocki
2012-03-06 12:23                           ` Antti P Miettinen
2012-03-06 14:37                             ` Dave Jones
2012-03-07  6:38                               ` Antti P Miettinen
2012-03-07 16:59                                 ` Dave Jones [this message]
2012-03-07 18:08                                   ` Antti P Miettinen

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=20120307165957.GA23690@redhat.com \
    --to=davej@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=amiettinen@nvidia.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=j-pihet@ti.com \
    --cc=khilman@ti.com \
    --cc=len.brown@intel.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=markgross@thegnar.org \
    --cc=pavel@ucw.cz \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.