On Thu, 2010-05-13 at 13:23 -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. Couldn't you just use priorities (nice), or cgroups to deal with that? I'm sure there is a way to limit an apps runtime, so the system does go idle sometimes. > > I think we could implement your suggestion more easily by just giving > > untrusted applications an effectively infinite amount of timer slack, > > but it still doesn't handle the case where an app behaves excrutiatingly > > badly. > > Hmm, if you use timer slack then you still need to search through > the whole timer list instead of a smaller critical timer list. > Both ways sound doable though. There are deferrable timers already in Linux.. It seems like it would just be an extension of that. Daniel -- 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