All of lore.kernel.org
 help / color / mirror / Atom feed
From: mark gross <markgross@thegnar.org>
To: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Saravana Kannan <skannan@codeaurora.org>,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	James Bottomley <James.Bottomley@suse.de>,
	mark gross <markgross@thegnar.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Matthew Garrett <mjg59@srcf.ucam.org>
Subject: Re: [PATCH] pm_qos: Add system bus performance parameter
Date: Fri, 27 Aug 2010 19:09:35 -0700	[thread overview]
Message-ID: <20100828020935.GC8341@gvim.org> (raw)
In-Reply-To: <87hbigqg8d.fsf@deeprootsystems.com>

On Fri, Aug 27, 2010 at 07:31:46AM -0700, Kevin Hilman wrote:
> Saravana Kannan <skannan@codeaurora.org> writes:
> 
> > Some drivers/devices might need some minimum system bus performance to
> > provide acceptable service. Provide a PM QoS parameter to send these requests
> > to.
> >
> > The new parameter is named "system bus performance" since it is generic enough
> > for the unit of the request to be frequency, bandwidth or something else that
> > might be appropriate. It's up to each implementation of the QoS provider to
> > define what the unit of the request would be.
> >
> > Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
> 
> With this current design, only one system-wide bus would be managed.
> What if a platform has more than one independently scalable bus?

we have the same problem for mutliple network devices today.  its a
design limitation to pm_qos I'd like to fix too.

> I think the only scalable way to handle this kind of thing is to have
> per-device QoS constraints that can then be combined/aggregated by parent
> devices/busses.

I think this path has a chance of fixing the current limitations of
pm-qos.

> At LPC this year, I've proposed per-device QoS constraints[1] as a topic
> for the PM mini-conf.  I hope some folks from the MSM camp can be there
> for these discussions.

I thought we were going to do some prototyping or hacking on this by
now. Who was going to take the first wack at this?  

--mgross

> Kevin
> 
> [1] http://www.linuxplumbersconf.org/2010/ocw/proposals/819
> 
> > ---
> >  kernel/pm_qos_params.c |    9 +++++++++
> >  1 files changed, 9 insertions(+), 0 deletions(-)
> >
> > diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c
> > index 996a4de..1a44a67 100644
> > --- a/kernel/pm_qos_params.c
> > +++ b/kernel/pm_qos_params.c
> > @@ -93,12 +93,21 @@ static struct pm_qos_object network_throughput_pm_qos = {
> >  	.type = PM_QOS_MAX,
> >  };
> >  
> > +static BLOCKING_NOTIFIER_HEAD(system_bus_performance_notifier);
> > +static struct pm_qos_object system_bus_performance_pm_qos = {
> > +	.requests = PLIST_HEAD_INIT(system_bus_performance_pm_qos.requests, pm_qos_lock),
> > +	.notifiers = &system_bus_performance_notifier,
> > +	.name = "system_bus_performance",
> > +	.default_value = 0,
> > +	.type = PM_QOS_MAX,
> > +};
> >  
> >  static struct pm_qos_object *pm_qos_array[] = {
> >  	&null_pm_qos,
> >  	&cpu_dma_pm_qos,
> >  	&network_lat_pm_qos,
> >  	&network_throughput_pm_qos
> > +	&system_bus_performance_pm_qos
> >  };
> >  
> >  static ssize_t pm_qos_power_write(struct file *filp, const char __user *buf,

  parent reply	other threads:[~2010-08-28  2:09 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-27  4:13 Add system bus performance parameter Saravana Kannan
2010-08-27  4:13 ` [PATCH] pm_qos: " Saravana Kannan
2010-08-27  6:41   ` mark gross
2010-08-27  8:10     ` skannan
2010-08-27 10:17       ` Peter Zijlstra
2010-08-28  2:05       ` mark gross
2010-08-28  2:55         ` Saravana Kannan
2010-08-28 22:52           ` mark gross
2010-08-30 18:56             ` Kevin Hilman
2010-08-31 18:40               ` mark gross
2010-08-31 22:38                 ` Saravana Kannan
2010-09-01 14:28                   ` mark gross
2010-09-02  3:37                     ` Saravana Kannan
2010-09-02 14:09                       ` mark gross
2010-09-04  2:04                         ` Saravana Kannan
2010-09-17 20:32                         ` Saravana Kannan
2010-08-27 14:31   ` Kevin Hilman
2010-08-27 18:33     ` Bryan Huntsman
2010-08-28  1:55       ` mark gross
2010-08-28  2:09     ` mark gross [this message]
2010-08-28 23:05     ` mark gross
2010-09-02 14:05     ` mark gross
2010-09-02 20:09       ` Rafael J. Wysocki
2010-09-07  5:42         ` mark gross
2010-09-07 21:43           ` Rafael J. Wysocki
2010-08-27  4:19 ` Saravana Kannan
2010-08-27  5:46 ` msgrcv() errno 514 ERESTARTNOHAND 朱文佳
2010-08-27  8:31   ` Pei Lin

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=20100828020935.GC8341@gvim.org \
    --to=markgross@thegnar.org \
    --cc=James.Bottomley@suse.de \
    --cc=corbet@lwn.net \
    --cc=fweisbec@gmail.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=rjw@sisk.pl \
    --cc=skannan@codeaurora.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.