On Fri, May 14, 2010 at 7:58 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Fri, 14 May 2010, Brian Swetland wrote: > >> It provides useful functionality -- you apparently disagree, but the >> wakelock/suspendblock model is in use, shipping, and solving problems >> for quite a lot of android devices that have been shipping for a while >> now. We actively go to lowest power state in idle (on omap, msm, >> etc), and use drivers that aggressively declock and depower modules >> (similar to runtime pm), but we have found that using the >> opportunistic suspend model combined with wakelocks allows us to >> attain even lower average power consumption in always-connected, >> actively-syncing devices. > > Can you explain this in more detail? Are you saying that some devices > go on generating interrupts and causing timers to be scheduled, even > though what they're doing isn't important enough to prevent the system > from powering down? In tickless mode, the time until next timer is a signed int, so the longest the kernel will ever sleep is ~2 seconds at a go. In practice, userspace entities often have polling behavior that can trigger more often than that, and I've observed some kernel periodic timers (haven't cataloged them recently) that happen more often than once a second. When we go to full suspend, we know that only specific wakeup sources (keyboard gpios, baseband voice/ip events, rtc alarms, etc) are going to wake us up. Brian -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html