On Thursday 13 May 2010, Matthew Garrett wrote: > On Thu, May 13, 2010 at 01:23:20PM -0700, Tony Lindgren wrote: > > * Matthew Garrett <mjg@xxxxxxxxxx> [100513 13:03]: > > > On Thu, May 13, 2010 at 01:00:04PM -0700, Tony Lindgren wrote: > > > > > > > The system stays running because there's something to do. The system > > > > won't suspend until all the processors hit the kernel idle loop and > > > > the next_timer_interrupt_critical() returns nothing. > > > > > > At which point an application in a busy loop cripples you. > > > > Maybe you could deal with the misbehaving untrusted apps in the userspace > > by sending kill -STOP to them when the screen blanks? Then continue > > when some event wakes up the system again. > > And if that's the application that's listening to the network socket > that you want to get a wakeup event from? This problem is hard. I'd love > there to be an elegant solution based on using the scheduler, but I > really don't know what it is. I agree and I don't understand the problem that people have with the opportunistic suspend feature. It solves a practical issue that _at_ _the_ _moment_ cannot be solved differently, while there's a growing number of out-of-tree drivers depending on this framework. We need those drivers in and because we don't have any viable alternative at hand, we have no good reason to reject it. Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html