Thread (29 messages) 29 messages, 11 authors, 2013-02-28

[PATCH 1/9] ARM: PMU: Add runtime PM Support

flat view
STALE4977d

From: Jon Hunter <hidden>
Date: 2012-08-16 13:56:06

Revision v1 of 4 in this series.

Revisions (4)
  1. v1
  2. v1
  3. v1
  4. v1 current
On 08/13/2012 05:40 AM, Will Deacon wrote:
On Sat, Aug 11, 2012 at 04:09:51PM +0100, Ming Lei wrote:
quoted
On Sat, Aug 11, 2012 at 1:36 AM, Will Deacon [off-list ref] wrote:
quoted
+       pm_runtime_put_sync(&pmu_device->dev);
One question, each pmu is just inside one cpu core and should be
suspended individually, but looks the above don't support it, do it?
I'll let Jon elaborate, but I'm not sure that suspending the individual PMUs
makes much sense if one of them is being used (other than taking the whole
CPU offline). Given that tasks can migrate and perf-events can be across
multiple CPUs, it makes it a lot easier to treat them as a single entity. It
also allows us to implement mutual exclusion using the same hooks and to
manage any common IP (e.g. CTI) at the same time, without having to keep
track of things like the last man standing.

So, unless Jon has some ideas here, it's not something that I consider to be
a real problem.
So from an OMAP3/4 perspective (which is the only device so far using
these runtime PM callbacks that I know of), it does not add any value to
suspend each PMU individually. For OMAP3/4, if one or more PMU is active
then we need to power up additional power domains and we need to keep
them powered until all PMUs are no longer in use.

For OMAP5 (which I have started testing) does not need other power
domains apart from the CPU power domain. So this could make more sense,
but I have not tried this yet. For now I think it is ok to keep as is
and then we can always change later to optimise for newer devices or
architectures if we think that they would benefit from this.

Cheers
Jon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help