2010/5/26 Peter Zijlstra <peterz@xxxxxxxxxxxxx>: > On Wed, 2010-05-26 at 02:54 -0700, Arve Hjønnevåg wrote: >> >> I'm not sure what you are proposing that we use instead. Both >> user-space and kernel code needs to block suspend. If we don't have >> suspend blockers in the kernel then user-space needs to poll when a >> driver blocks suspend by returning an error from its suspend hook. > > In particular I'm suggesting you ditch the /dev/suspend_block thing. > > With a single suspend manager process that manages the suspend state you > can achieve the same goal. > Yes we don't need the /dev interface, but it is useful. Without it any program that needs to block suspend has to make a blocking ipc call into the suspend manager process. Android already does this for java code, but system processes written in C block suspend directly with the kernel since they cannot use the java APIs. > When the suspend manager has a !0 busy-task count, it ensures the kernel > won't auto-suspend, when it again reaches a 0 busy-task count, it > re-instates the auto-suspend feature. > > That's pretty much what that device would do too. > > Ideally we would not do the auto-suspend thing at all and have > runtime-PM improved. Not running apps when they expect to run is like > the world turned upside down. > > 'Evil' apps could always report themselves as blocker anyway. > -- Arve Hjønnevåg -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html