Re: Attempted summary of suspend-blockers LKML thread, take three
From: david
Date: Sat Aug 07 2010 - 16:38:10 EST
On Sat, 7 Aug 2010, Theodore Tso wrote:
On Aug 7, 2010, at 5:11 AM, Rafael J. Wysocki wrote:
But in principle that need not mean suspending the entire system.
To get applications out of the way, you need to freeze user space.
However, that's not sufficient, because in addition to that you need to
prevent deactivate the majority of interrupt sources to avoid waking up the
CPU (from C-states) too often.
True, but again, consider the MacBook. If you plug in an iPod, the
machine will wake up for *just* long enough to let the iTunes sync the
iPod, but once its done, the machine goes back to sleep again
immediately. I doubt MacOS has something called a "suspend blocker"
which prevents the machine from sleeping until iTunes finished, which
when released, allows the machine to suspend again immediately. But
neither did I see any evidence that it took 30 seconds for some kludgy
polling process to decide that iTunes was done, and to allow the MacBook
to go back to sleep.
nobody has proposed a polling process to decide the system can suspend,
what I proposed was to have idle detection decide the system can suspend,
which would mean that if you don't want the system to suspend you have to
do something to keep it from being idle.
At the time I didn't know that Android always disabled suspend for the
entire time the display was on, so I made the assumption that timouts had
to be long enough for input events to keep the system awake, which would
put them on the order of 30 seconds or longer.
If all that is wanted is to disable the suspend for the entire time the
backlight is on you don't need wakelocks, and you don't need a privilaged
thread waking up, all you need is to tell the power management system not
to suspend through the existing mechanism. you could create a new
mechanism (wakelock) to pass the same information, but what is the
advantage of doing so?
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/