Re: [linux-pm] suspend blockers & Android integration

From: david
Date: Sun Jun 06 2010 - 07:16:04 EST


On Sun, 6 Jun 2010, Florian Mickler wrote:

On Sun, 6 Jun 2010 12:19:08 +0200
Vitaly Wool <vitalywool@xxxxxxxxx> wrote:

2010/6/6 <david@xxxxxxx>:

as an example (taken from this thread).

system A needs to wake up to get a battery reading, store it and go back to
sleep, It does so every 10 seconds. But when it does so it only runs the one
process and then goes back to sleep.

system B has the same need, but wakes up every 10 minutes. but when it does
so it fully wakes up and this allows the mail app to power up the radio,
connect to the Internet and start checking for new mail before oppurtunistic
sleep shuts things down (causing the mail check to fail)

System A will last considerably longer on a battery than System B.

Exactly, thanks for pointing out the specific example :)

~Vitaly

This does not affect suspend_blockers nor does suspend_blockers
interfere with that.

Suspend_blockers allow the system to suspend ("mem">/sys/power/state
suspend), when the userspace decides that the device is not in use.

So implementing suspend_blockers support does not impact any
optimizations done to either system A nor system B.

Actually, it does.

system A is what's being proposed by kernel developers, where the untrusted stuff is in a different cgroup and what puts the system to sleep is 'normal' power management. It doesn't sleep as long, but when it wakes up the untrusted stuff is still frozen, so it doesn't stay awake long, or do very much.

System B is suspend blockers where you are either awake or asleep, and when you wake up you wake up fully, but oppertunistic sleep can interrupt untrusted processes at any time. The system sleeps longer (as fewer things can wake it), but when it wakes up it's fully awake.

David Lang
--
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/