Re: Alternative Concept

David Brownell
2007-03-20T23:29:33Z

On Tuesday 20 March 2007 3:06 pm, Pavel Machek wrote:
> Hi!
>
> > > But we do not want new subsystem. We want power management to
> > > work. Take a look how Alan added pm to usb... and just do it like
> > > him. If some code makes sense to be shared, share it. But start with
> > > support for platform you care about and don't overdesign it.
> >
> > Note, Alan didn't do it by himself. The autosuspend stuff built on
> > previous work in USB PM, and this DID get discussed -- as concrete
> > proposals -- before he did all that good stuff.
>
> Okay, you are right. But I do not remember any "handwaving"
> phase... (And sorry for not giving credit where it was due, obviously
> Alan did not do it all by himself).

No, I don't think there was a handwaving phase there either.

There were specific problems to be addressed, and specific solutions
came out of discussions of how to address them. (Which is not at all
the way these "concept" discusions have gone.)

I think the canonical example was one I first heard from Len Brown a
few years back: laptop with USB mouse. If that mouse can (auto)suspend,
with remote wakeup to kick it out of that state, then the USB host
controller doesn't need be active. If that controller isn't doing DMA
every millisecond, the CPU can enter C3. So the savings cascade in a
very clean way, once all the parts are present.

To get there, first we needed USB suspend, and remote wakeup, to work.
That was a bunch of work. Then we needed proper "runtime suspend" to
behave for the host controller drivers too. More work ... they all
had to act the same. (I'd say that work first started around the time
of the 2.6.9 kernels...) Once all that was stable, the autosuspend
work could begin.

All this "alternative concept" stuff seems to be starting from the
"big piece of blank paper, and dreams" school of design.

- Dave