Messages in this thread | | | Date | Fri, 20 Feb 2009 15:11:28 -0800 | Subject | Re: [RFD] Automatic suspend | From | Arve Hjønnevåg <> |
| |
On Fri, Feb 20, 2009 at 2:05 PM, Oliver Neukum <oliver@neukum.org> wrote: > Am Freitag 20 Februar 2009 11:46:55 schrieb Rafael J. Wysocki: >> On Thursday 19 February 2009, Oliver Neukum wrote: >> > Am Donnerstag 19 Februar 2009 23:21:46 schrieb Rafael J. Wysocki: >> > > > That's the whole point behind userspace wakelocks! They provide a >> > > > mechanism for userspace to tell the kernel when (as far as userspace >> > >> > is >> > >> > > > concerned) it is or is not okay to auto-sleep. >> > > >> > > Still, one can go further and observe that the user space can in fact >> > > start automatic suspend by itself whenever it knows it's appropriate >> > > ... >> > >> > User space initiating this is a race condition. >> >> Do you mean a race with the other user space processes or with the kernel? > > With the set of runnable processes.There's always a window between > evaluating the current set of runnable tasks and telling the kernel to sleep. > IMO the most elegant solution would be a task attribute that would signal > the kernel that a task should not count as keeping the system busy even > if it is runnable and trigger the sleep in kernel space.
It is not always safe to enter suspend when no tasks are runnable. For instance, a key event could be on a user space queue, but the code that reads from that queue has been paged out.
-- Arve Hjønnevåg -- 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/
| |