On Sat, 12 Dec 2009, Rafael J. Wysocki wrote: > > I'd like to put it into my tree in this form, if you don't mind. This version still has a major problem, which is not related to completions vs rwsems, but simply to the fact that you wanted to do this at the generic device layer level rather than do it at the actual low-level suspend/resume level. Namely that there's no apparent sane way to say "don't wait for children". PCI bridges that don't suspend at all - or any other device that only suspends in the 'suspend_late()' thing, for that matter - don't have any reason what-so-ever to wait for children, since they aren't actually suspending in the first place. But you make them wait regardless, which then serializes things unnecessarily (for example, two unrelated USB controllers). And no, making _everything_ be async is _not_ the answer. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html