public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: mark gross <640e9920@gmail.com>
To: Mike Chan <mike@android.com>
Cc: linux-pm@lists.linux-foundation.org,
	mark gross <640e9920@gmail.com>,
	markgross@thegnar.org
Subject: Re: PM QoS dynamic resource manager
Date: Fri, 11 Jun 2010 06:55:52 -0700	[thread overview]
Message-ID: <20100611135552.GA10117@gvim.org> (raw)
In-Reply-To: <AANLkTimu7-8CZUbA2lNuYauZDoOuiBJI_v3cSIF9qqul@mail.gmail.com>

On Wed, Jun 09, 2010 at 05:53:53PM -0700, Mike Chan wrote:
> On Tue, Jun 8, 2010 at 8:05 PM, mark gross <640e9920@gmail.com> wrote:
> > On Tue, Jun 08, 2010 at 04:03:20PM -0700, Bryan Huntsman wrote:
> >> >>http://lkml.org/lkml/2010/4/22/213  (I guess the details are in the
> >> >>archives)  I'm happy to re-visit it.
> >> >>
> >> >
> >> >Interesting patch, it looks like having a "system wide bus" doesn't
> >> >easily apply to msm and tegra platforms.
> >> >An example of some things I would like to be able to control are i2c
> >> >and memory bus.
> >> >
> >> >I'm tempted to suggest adding two types memory and i2c but I'm not
> >> >sure how future proof this will be given the growing complexity in the
> >> >embedded hardware road-map.
> >> >What about the possibility of registering not one but several buses?
> >> >You could add a bus qos param, with a type enum, or bind to some
> >> >platform_driver or bus_driver
> >> >
> >> >Then there's the issue of having to deal with platform specific buses,
> >> >do you add this type to pm qos with only one user? Or have some
> >> >platform bus types defined somewhere. The generic code of min / max
> >> >for resource X can be useful so everyone doesn't spin their own
> >> >resource framework in their own architecture.
> >> >
> >> >-- Mike
> >>
> >> Mike, one idea I'm exploring is having platform-specific busses with
> >> QoS constraints specified via runtime_pm as part of the LDM.  Adding
> >> dynamic class creation within pm_qos, or a type enum as you suggest,
> >> would work.  However, I think this kind of behavior would fit nicely
> >> within runtime_pm.
> >>
> >
> > Something like that is what Kevin Hilman was thinking too.  It would
> > bring a qos concept to the LDM for each bus driver object.  Picking what
> > qos parameters to use (I recommend latency and bandwidth) and how "local"
> > the parameters effect of these bus_qos interfaces are.
> >
> 
> Are you thinking of having a (possible) pm qos constraint for each
> struct device_driver? Or struct bus_type ? This would probably work if

I'm thinking ever struct bus_type at the moment, but really this is
somehting hat has been getting handwaving at so far.

> for something like i2c. I'm not sure how this would work for memory
> bus. If you did not want to tie memory bus performance to cpu speeds,
> since (at least from what I"ve seen in omap / msm / tegra) there's no
> device_driver for a memory bus clock, but I could be wrong so someone
> correct me if I'm mistaken.

it hasn't been thought out yet by me yet, WRT dependency expressions
that have more global scope than a given bus like what I think you are
talking about.

--mgross

> 
> Typically I've seen (on msm / tegra / omap) if cpu is running at
> frequency X, then set mem bus clock to Y. Which leads to a bunch of
> hacks with drivers requesting frequency X, when really they need the
> faster memory speed.
> 
> Perhaps both per bus-type pm qos parameter as well as a new global
> memory bus (per cpu for numa systems?) parameter.
> 
> I'm worried about trying to over-engineer a solution here for
> non-existing (or non-interested) customers. Ideally something that
> will fit our needs with Android on msm / omap / tegra platforms but
> still flexible enough for non-SOC.
> 
> -- Mike
> 
> > They are not the same as the more global system wide pm_qos parameters,
> > and they would be unlikely things ever exposed to usermode.
> >
> 
> I don't think we care about exposing this to userspace for our needs.
> 
> > Yes I think something like this is inevitable and will happen.  But we
> > need some good applications to roll out the idea with.  (I think.)
> >
> 
> 
> 
> > --mgross
> >
> >

  parent reply	other threads:[~2010-06-11 13:55 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-21 21:37 PM QoS dynamic resource manager Chidambaram, Praveen
2010-05-25 14:52 ` mark gross
2010-05-25 16:19   ` Chidambaram, Praveen
2010-06-08  0:18   ` Mike Chan
2010-06-08  3:33     ` mark gross
2010-06-08 14:44       ` Chidambaram, Praveen
2010-06-09  2:55         ` mark gross
2010-06-08 18:58       ` Mike Chan
2010-06-08 23:03         ` Bryan Huntsman
2010-06-08 23:35           ` Mike Chan
2010-06-08 23:48             ` Bryan Huntsman
2010-06-09  3:05           ` mark gross
2010-06-10  0:53             ` Mike Chan
2010-06-10  1:22               ` Bryan Huntsman
2010-06-11 13:55               ` mark gross [this message]
2010-06-11 14:12             ` Kevin Hilman
2010-06-17 22:32               ` Kevin Hilman
2010-06-18  5:57                 ` Huntsman, Bryan
2010-06-22 23:34                   ` mark gross
2010-07-18 12:57                   ` mark gross
2010-07-18 15:03                     ` James Bottomley
2010-07-19  1:46                       ` Rafael J. Wysocki
2010-07-19  6:38                         ` James Bottomley
2010-07-19 13:50                           ` Matthew Garrett
2010-08-10 16:24                 ` Kevin Hilman

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=20100611135552.GA10117@gvim.org \
    --to=640e9920@gmail.com \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=markgross@thegnar.org \
    --cc=mike@android.com \
    /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