Re: parallel suspend/resume

Rafael J. Wysocki
2007-12-08T20:46:46Z

On Friday, 7 of December 2007, Alan Stern wrote:
> On Fri, 7 Dec 2007, David Brownell wrote:
>
> > > What about ordering constraints? A lot of them aren't explicit. We
> > > just depend on the fact that devices get suspended in reverse order of
> > > registration. You can't do that in parallel.
> >
> > Those constraints should *become* explicit ... not stay implicit!
>
> Why do I get the feeling we've gone through this before? :-)
>
> > FWIW the appended patch removes that rude "order of registration"
>
> "Rude"? What's rude about it? It seems most logical to me: Since the
> devices obviously worked in the intermediate stages of registration,
> when the early-to-register devices were available and the
> late-to-register devices weren't, duplicating those same intermediate
> stages (with the same sets of devices available) should also work
> during suspend.
>
> > policy, so that the suspend/resume list matches the device tree.
>
> In what respect doesn't it match the device tree now?
>
> As far as I know, the only way in which the list wouldn't match the
> tree is when the tree gets reorganized by device_move(), which doesn't
> change the list at all. (This is quite possibly a bug.)

IMO, this _is_ a bug. I think device_move() should move the device in question
to the end of the list along with its children.

That might cause some breakage in the short run, but we'll have to do it at one
point.

Greetings,
Rafael