All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Antti P Miettinen <amiettinen@nvidia.com>
Cc: linux-pm@lists.linux-foundation.org, cpufreq@vger.kernel.org,
	mark gross <markgross@thegnar.org>
Subject: Re: [linux-pm] [PATCH v2 0/8] RFC: CPU frequency min/max as PM QoS params
Date: Thu, 19 Jan 2012 00:10:38 +0100	[thread overview]
Message-ID: <201201190010.38790.rjw@sisk.pl> (raw)
In-Reply-To: <87ipk9qwff.fsf@amiettinen-lnx.nvidia.com>

On Wednesday, January 18, 2012, Antti P Miettinen wrote:
> "Rafael J. Wysocki" <rjw@sisk.pl> writes:
> [..]
> > If I understand you correctly, you want to have an iterface for specifying
> > min and max frequencies from user space.  I can understand that.  At least
> > I can see some use cases for that.
> >
> > Now, the question is if using the PM QoS framework is the right way to do
> > that.
> >
> >> The change to cpufreq core just adds two read-only files to be able to
> >> inspect user_policy.min/max in addition to the currently enforced
> >> policy->min/max. Yes - there has been the possibility of using the sysfs
> >> min for setting a frequency floor but this is problematic when there are
> >> multiple clients. You'd need some kind of arbitration and book keeping
> >> to set/restore the minimum. And PM QoS provides exactly this mechanism.
> >
> > Just as I suspected. :-)
> >
> > OK, so what's your anticipated usage model of this?
> 
> We've been experimenting with hooking the frequency boost to e.g. touch
> screen UI events and application launch. I believe there are also some
> specific applications that would want to either set a frequency floor or
> ceiling in some situations.
> 
> >> I think the kernel needs to be extended to handle more PM constraints
> >> and PM QoS is the closest thing I know for this kind of
> >> functionality. However, I'm open to suggestions about alternative
> >> approaches. I think we need e.g. more than just min/max "reduction
> >> operators". Ideas, anyone?
> >
> > I first need to know who those multiple clients are going to be.
> >
> > Thanks,
> > Rafael
> 
> For the touch screen UI, the boost could be implemented as a kernel
> module hooked with suitable event filter to the input event
> stream. Another possibility is the UI framework in user space. Some
> specific user space applications would also be clients.

I see.

However, if you use PM QoS for that as proposed, there will be only one
misc device for the minimum CPU frequency and one for the maximum, so
user space will only be able to specify those numbers globally, ie. for
all CPUs in the system.  Is that your intention?

Rafael

  reply	other threads:[~2012-01-18 23:10 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-16  6:59 [PATCH v2 0/8] RFC: CPU frequency min/max as PM QoS params Antti P Miettinen
2012-01-16  6:59 ` [PATCH v2 1/8] PM QoS: Simplify PM QoS expansion/merge Antti P Miettinen
2012-01-16 21:22   ` Rafael J. Wysocki
2012-01-18  2:50     ` mark gross
2012-01-16  6:59 ` [PATCH v2 2/8] PM QoS: Add CPU frequency minimum as PM QoS param Antti P Miettinen
2012-01-16  6:59 ` [PATCH v2 3/8] cpufreq: Export user_policy min/max Antti P Miettinen
2012-01-16  6:59 ` [PATCH v2 4/8] cpufreq: Preserve sysfs min/max request Antti P Miettinen
2012-01-16  6:59 ` [PATCH v2 5/8] cpufreq: Enforce PM QoS minimum limit Antti P Miettinen
2012-01-16  6:59 ` [PATCH v2 6/8] input: CPU frequency booster Antti P Miettinen
2012-01-16  7:00 ` [PATCH v2 7/8] PM QoS: Add CPU frequency maximum as PM QoS param Antti P Miettinen
2012-01-16  7:00 ` [PATCH v2 8/8] cpufreq: Enforce PM QoS maximum frequency Antti P Miettinen
2012-01-16 21:38 ` [PATCH v2 0/8] RFC: CPU frequency min/max as PM QoS params Rafael J. Wysocki
2012-01-17  6:14   ` Antti P Miettinen
2012-01-17  6:25     ` [linux-pm] " Mansoor, Illyas
2012-01-17  9:54       ` Antti P Miettinen
2012-01-17 21:27     ` [linux-pm] " Rafael J. Wysocki
2012-01-18  7:52       ` Antti P Miettinen
2012-01-18 23:10         ` Rafael J. Wysocki [this message]
2012-01-19  6:41           ` Antti P Miettinen
2012-01-18  3:13   ` mark gross
2012-01-18  8:15     ` Antti P Miettinen
2012-01-18 23:16       ` [linux-pm] " Rafael J. Wysocki
2012-01-18 23:24     ` Rafael J. Wysocki
2012-01-19  6:49       ` Antti P Miettinen
2012-01-19 22:40         ` [linux-pm] " Rafael J. Wysocki
2012-01-22  9:55           ` Antti P Miettinen
2012-01-19 16:41       ` [linux-pm] " mark gross
2012-01-19 19:48         ` Antti P Miettinen
2012-01-19 22:15           ` [linux-pm] " Rafael J. Wysocki
2012-01-22 10:35             ` Antti P Miettinen
2012-01-22 23:43               ` [linux-pm] " Rafael J. Wysocki
2012-02-02  6:06                 ` Antti P Miettinen
2012-02-08  8:49                   ` Per CPU frequency constraints (was Re: [PATCH v2 0/8] RFC: CPU frequency min/max as PM QoS params) Antti P Miettinen
2012-01-19 23:36         ` [linux-pm] [PATCH v2 0/8] RFC: CPU frequency min/max as PM QoS params Rafael J. Wysocki
2012-01-18  3:44 ` mark gross
2012-01-18 20:22   ` 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=201201190010.38790.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=amiettinen@nvidia.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=markgross@thegnar.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 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.