All of lore.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 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.