Prev: [PATCH 7/8] Input: Block suspend while event queue is not empty.
Next: [PATCH 3/8] PM: suspend_block: Abort task freezing if a suspend_blocker is active.
From: Matthew Garrett on 6 May 2010 13:30 On Thu, May 06, 2010 at 10:14:53AM -0700, Tony Lindgren wrote: > Why would you need to constantly try to suspend in that case? Because otherwise you're awake for longer than you need to be. -- Matthew Garrett | mjg59(a)srcf.ucam.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Tony Lindgren on 6 May 2010 13:40 * Matthew Garrett <mjg(a)redhat.com> [100506 10:17]: > On Thu, May 06, 2010 at 10:14:53AM -0700, Tony Lindgren wrote: > > > Why would you need to constantly try to suspend in that case? > > Because otherwise you're awake for longer than you need to be. If your system is idle and your hardware supports off-while-idle, then that really does not matter. There's not much of a difference in power savings, we're already talking over 10 days on batteries with just off-while-idle on omaps. If your userspace keeps polling and has runaway timers, then you could suspend it's parent process to idle the system? Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Daniel Walker on 6 May 2010 13:40 On Thu, 2010-05-06 at 10:14 -0700, Tony Lindgren wrote: > * Matthew Garrett <mjg(a)redhat.com> [100506 10:05]: > > On Thu, May 06, 2010 at 10:01:51AM -0700, Tony Lindgren wrote: > > > > > Or are you suspending constantly, tens of times per minute even if > > > there's no user activity? > > > > In this case you'd be repeatedly trying to suspend until the modem > > driver stopped blocking it. It's pretty much a waste. > > But then the userspace knows you're getting data from the modem, and > it can kick some inactivity timer that determines when to try to > suspend next. If the idle thread was doing the suspending then the inactivity timer by it's self could block suspend. As long as the idle thread was setup to check for timers. I'm sure that _isn't_ the point your trying to make. It just makes gobs more sense to me that the idle thread does the suspending .. Your idle, so depending on how long your idle then you suspend. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Matthew Garrett on 6 May 2010 13:50 On Thu, May 06, 2010 at 10:38:08AM -0700, Tony Lindgren wrote: > If your userspace keeps polling and has runaway timers, then you > could suspend it's parent process to idle the system? If your userspace is suspended, how does it process the events that generated a system wakeup? If we had a good answer to that then suspend blockers would be much less necessary. -- Matthew Garrett | mjg59(a)srcf.ucam.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Tony Lindgren on 6 May 2010 14:40
* Matthew Garrett <mjg(a)redhat.com> [100506 10:39]: > On Thu, May 06, 2010 at 10:38:08AM -0700, Tony Lindgren wrote: > > > If your userspace keeps polling and has runaway timers, then you > > could suspend it's parent process to idle the system? > > If your userspace is suspended, how does it process the events that > generated a system wakeup? If we had a good answer to that then suspend > blockers would be much less necessary. Well if your hardware runs off-while-idle or even just retention-while-idle, then the basic shell works just fine waking up every few seconds or so. Then you could keep init/shell/suspend policy deamon running until it's time to suspend the whole device. To cut down runaway timers, you could already freeze the desktop/GUI/whatever earlier. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |