Re: [PATCH] ACPI/Power: Check physical device's runtime pm statusbefore requesting to resume it

From: Lan Tianyu
Date: Fri Oct 18 2013 - 09:05:39 EST


On 10/17/2013 07:38 PM, Rafael J. Wysocki wrote:
Unfortunately, I don't see how we can fix this race in a
satisfactory way and I'm starting to think that the whole
resuming of dependent devices may be a bad idea.

IIRC, the original concern was that devices may end up in
D0-uninitialized if we don't do that, but then whoever
turned the power resource on will probably turn if off at
one point anyway, so they will be in that state
temporarily. In other words, in addition to the fact
that this is racy, there even is no reason to do it.

I'll send a patch to rip off that stuff later today.

Currently, dropping it should be the better choice but I think we
still need to resolve the D0-uninitialized problem, right?
Why do you think it is a problem in the first place? Those devices
will not be accessed while in that state (unless there's a bug
somewhere).


Yes, those devices will not be accessed but they will continue to stay
D0-uninitiallized without any users before next resume and suspend. PM
core and device driver still think they are in the lower power state.

At this point, it seems these devices should be put into lower power
state(E.G D3hot) than D0-uninitiallized.

E.G, two devices share one power resource. After they are suspended and
power resource turns off, one device is resumed and power resource turns
on. The other device will remain D0-uninitallized until there are resume
and suspend for it. It may consume more power than lowest power state it
can reach at that point.

Thanks!

-- I speak only for myself. Rafael J. Wysocki, Intel Open Source
Technology Center.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/