From: mark gross <640e9920@gmail.com>
To: "Chidambaram, Praveen" <pchidamb@codeaurora.org>
Cc: kheitke@codeaurora.org, linux-pm@lists.linux-foundation.org,
mark gross <640e9920@gmail.com>,
markgross@thegnar.org
Subject: Re: PM QoS dynamic resource manager
Date: Tue, 8 Jun 2010 19:55:51 -0700 [thread overview]
Message-ID: <20100609025551.GC26668@gvim.org> (raw)
In-Reply-To: <alpine.DEB.2.00.1006080830090.14258@pchidamb-lnx.qualcomm.com>
On Tue, Jun 08, 2010 at 08:44:30AM -0600, Chidambaram, Praveen wrote:
> > Most of the ideas where around clock throttling of buses and memory.
> > Things like throttling the graphics BW to whatever memory it was using,
> > or clocking down the GPU when idle. My thought was a pm_qos hint could
> > be handy, but I was assured that modern hardware auto-throttled and
> > didn't need this. So I dropped it. (At that time I also thought it
> > would apply to HD audio to allow better DAC throttling. I also dropped
> > this one too for the same reasons.)
>
> Yes, auto throttling by tying the Bus clock in relation to the CPU is
> a fairly good idea, but cannot be the only solution. The drivers know
> best their requirements and some drivers would need arbirated
> bandwidth that no one else can encroach on.
>
> > One problem was what type of units to use when talking about the qos of
> > the graphics was not obvious. It needs to be something meaningful to
> > be portable or provide a good abstraction.
>
> With PM QoS you can specify one parameter. However, a single parameter
> is quite insufficient. To specify bus bandwidth (say MBPS), we would
> need 2 dimensional values. Buses are getting complex and the arbiters
> that sit around them can make good decisions when they are fed the
> right data. The clock speed is just one of them. To allocate a
> bandwidth to a specific client, you would need to specify the amount
> of data to be transferred and when transferred, the amount of data in
> burst that need to be transferred would help in specifying the speed
> for each transaction. The clock speed can be deduced by the
> arbiter/driver from these two inputs.
>
> > One problem was what type of units to use when talking about the qos of
> > the graphics was not obvious. It needs to be something meaningful to
> > be portable or provide a good abstraction.
>
> The units as we understand better are MBPS. They are something that
> drivers can calculate before they make a request and request the
> Bandwidth and the burst bandwidth to the arbiter.
>
> What do you think about vector data inputs?
>
I think functional (as in functional programming) as pm_qos constraints
are an interesting science experiment and, mostly doable for simple
functions. But on face level feel pretty complicated to me, and need a
good, easy to understand application or example to get the idea across.
I can imagine some multi-dimensional constraints, (mostly in the space of
limited power budgets and graceful degradation under limited load /
brown out situations.) But that stuff is not QOS as much as an
optimization zero sum game problem.
So I think vector data inputs into a qos parameter needs clear
motivation. yet interesting to think about.
--mgross
next prev parent reply other threads:[~2010-06-09 2: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 [this message]
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
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=20100609025551.GC26668@gvim.org \
--to=640e9920@gmail.com \
--cc=kheitke@codeaurora.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=markgross@thegnar.org \
--cc=pchidamb@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.