Messages in this thread | | | Date | Wed, 15 Feb 2012 20:38:14 +0000 | From | Matthew Garrett <> | Subject | Re: [PATCH] hrtimers: Special-case zero length sleeps |
| |
On Wed, Feb 15, 2012 at 09:30:20PM +0100, Thomas Gleixner wrote: > On Wed, 15 Feb 2012, Matthew Garrett wrote: > > Excellent. So the real question is what /should/ sleep(0) do - nothing, > > schedule or sleep for an arbitrary period of time that could be years? > > Well, I don't expect slack to be set to years and I really don't want > to special case sleep(0), because then we might end up discussing > special casing usleep(1) or nanosleep(1ns) as well.
Increasing slack to the seconds range has measureable power management benefits, but there's some code that ends up broken as a result even when they're nominally event driven. I've no problem with us just declaring that code as broken, but it would be less effort to special case it. Application authors do seem to have ended up under the belief that sleep(0) is a meaningful thing to do, and the internet seems to be full of suggestions to use it rather than sched_yield().
-- Matthew Garrett | mjg59@srcf.ucam.org
| |