On Tue, Aug 03, 2010 at 04:19:25PM -0700, david@lang.hm wrote:
OK, I'll bite...
From an Android perspective, the differences are as follows:
1. Deep idle states are entered only if there are no runnable tasks.
In contrast, opportunistic suspend can happen even when there
are tasks that are ready, willing, and able to run.
2. There can be a set of input events that do not bring the system
out of suspend, but which would bring the system out of a deep
idle state. For example, I believe that it was stated that one
of the Android-based smartphones ignores touchscreen input while
suspended, but pays attention to it while in deep idle states.
3. The system comes out of a deep idle state when a timer
expires. In contrast, timers cannot expire while the
system is suspended. (This one is debatable: some people
argue that timers are subject to jitter, and the suspend
case for timers is the same as that for deep idle states,
but with unbounded timer jitter. Others disagree. The
resulting discussions have produced much heat, but little
light. Such is life.)
There may well be others.
Whether these distinctions are a good thing or a bad thing is one of
the topics of this discussion. But the distinctions themselves are
certainly very real, from what I can see.
Or am I missing your point?
Thanx, Paul
--