Messages in this thread |  | | | Date | Fri, 14 May 2010 20:40:08 -0700 | | Subject | Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6) | | From | Brian Swetland <> |
| |
On Fri, May 14, 2010 at 7:58 PM, Alan Stern <stern@rowland.harvard.edu> 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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |