Re: [patch update] Re: [linux-pm] Run-time PM idea (was: Re: [RFC][PATCH 0/2] PM: Rearrange core suspend code)

From: Rafael J. Wysocki
Date: Fri Jun 12 2009 - 15:09:18 EST


On Friday 12 June 2009, Alan Stern wrote:
> On Fri, 12 Jun 2009, Oliver Neukum wrote:
>
> > Am Freitag, 12. Juni 2009 04:16:10 schrieb Alan Stern:
> > > What tree constraint? You mean that the PM core shouldn't allow
> > > devices to suspend unless all their children are suspended? Why
> > > doesn't it still apply?
> >
> > Because the hardware doesn't need it.
>
> But maybe drivers need it.
>
> > > Remember, when Rafael and I say "suspend" here, we don't mean "go to a
> > > low-power state". We mean "the PM core calls the runtime_suspend
> > > method". No matter what actions the link hardware may decide to take
> > > on its own, the PM core will still want to observe the
> > > all-children-suspended restriction when calling runtime_suspend
> > > methods.
> >
> > No. The core if it insists all children be suspended will not use
> > the hardware's full capabilities.
>
> That isn't what I said. The core does not insist that all children be
> suspended, i.e., be in a low-power state. It insists only that the
> children's drivers' runtime_suspend methods have been called. Those
> methods are not obligated to put the children in a low-power state.
>
> > If it leaves such power saving measures to the drivers, latency
> > accounting will be wrong.
> >
> > > > I think there are devices who can be suspended while children are active
> > > > and devices which can not be. This is an attribute of the device and
> > > > should be evaluated by the core.
> > >
> > > Clearly it should be decided by the driver. Should there be a bit for
> > > it in the dev_pm_info structure?
> >
> > Yes.
>
> That would resolve the issue.

So, are you suggesting that the core should only check the "all children
suspended" condition if special flag is set in dev_pm_info?

Best,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/