On Friday 27 February 2009, Arve Hjønnevåg wrote: > On Fri, Feb 27, 2009 at 12:54 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > > On Friday 27 February 2009, Matthew Garrett wrote: > >> On Fri, Feb 27, 2009 at 03:22:39PM +0100, Rafael J. Wysocki wrote: > >> > On Friday 27 February 2009, Pavel Machek wrote: > >> > > Wakelocks done right are single atomic_t... and if you set it to 0, > >> > > you just unblock "sleeper" thread or something. Zero polling and very > >> > > simple... > >> > > >> > Except that you have to check all of the wakelocks periodically in a loop => > >> > polling. So? > >> > >> Why do you need to check them? If you're taking this approach you just > >> have something like: > >> > >> suspend_unblock() { > >> if (atomc_dec_and_test(&suspend_lock)) > >> suspend(); > >> } > >> > >> and then check that the lock count is still 0 after device_suspend(). > >> There's no need to poll. > > > > I was talking about wakelocks as originally proposed. > > Can you be more specific? My wakelock implementation triggers suspend > when the active list becomes empty. No polling required. Sorry, I overlooked and/or didn't remember that. My bad. Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm