Re: Nested suspends; messages vs. states

David Brownell
2005-03-24T06:31:00Z

[-- Attachment #1: Type: text/plain, Size: 1408 bytes --]

On Wednesday 23 March 2005 10:02 pm, Benjamin Herrenschmidt wrote:
>
> > That's a different example though: you've given the host controller
> > flexibility. You have _not_ hogtied it.
> >
> > The model we seem to be aiming towards in USB land is a bit different
> > than that though. When autosuspend is the goal, it bubbles up from
> > the bottom ... nodes (like HC) don't force children into idle, they
> > wait for the children to idle themselves and then take the opportunity
> > to snooze themselves. That's a model with wide applicability...
>
> It is, though it requires every children driver to have an idle
> mecanism ... do you think that will work in practice ?

When autosuspend is the goal, they'll implement it. Otherwise it's
not a goal, so not having it will not matter at all. And for leaf
node drivers, it's not at all tricky. :)

It matters for example with mice on laptops. I'm told that Intel
has measured and found that autosuspending mouse, then root hub
lets Centrino enter the C3 state, saving 2 Watts of power. Which
can be rather significant savings...

There are other strategies too, like having some external component
try to decide things. Maybe even users. Every strategy has plus
and minus points. One nice thing about autosuspend is that the
user interface is all but nonexistent. Also, most users are already
trained to expect such mechanisms elsewhere.