Re: Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems)

Linus Torvalds
2009-12-15T15:27:40Z

On Tue, 15 Dec 2009, Rafael J. Wysocki wrote:
> >
> > Give a real example that matters.
>
> I'll try. Let -> denote child-parent relationships and assume dpm_list looks
> like this:

No.

I mean something real - something like

- if you run on a non-PC with two USB buses behind non-PCI controllers.

- device xyz.

> If this applies to _resume_ only, then I agree, but the Arjan's data clearly
> show that serio devices take much more time to suspend than USB.

I mean in general - something where you actually have hard data that some
device really needs anythign more than my one-liner, and really _needs_
some complex infrastructure.

Not "let's imagine a case like xyz".

> But if we only talk about resume, the PCI bridges don't really matter,
> because they are resumed before all devices that depend on them, so they don't
> really need to wait for anyone anyway.

But that's my _point_. That's the whole point of the one-liner patch. Read
the comment above that one-liner.

My whole point was that by doing the whole "wait for children" in generic
code, you also made devices - such as PCI bridges - have to wait for
children, even though they don't need to, and don't want to.

So I suggested an admittedly ugly hack to take care of it - rather than
some complex infrastructure.

Linus