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.