Greetings, For many of us, the kernel thread scheduling resolution is 10ms (see getitimer(2)). By adding 1 jiffy to the time to sleep in sys_nanosleep(), threads are sleeping 10ms too long. timespec_to_jiffies() does a good job at returning the appropriate number of jiffies to sleep. There is no need to add one for good measure. Patch is good for 2.4.16 and 2.5.0. Mike Arras mkarras110@yahoo.com diff -urN linux-2.4.16/kernel/timer.c better/kernel/timer.c --- linux-2.4.16/kernel/timer.c Mon Oct 8 13:41:41 2001 +++ better/kernel/timer.c Wed Nov 28 00:23:15 2001 @@ -825,7 +825,7 @@ return 0; } - expire = timespec_to_jiffies(&t) + (t.tv_sec || t.tv_nsec); + expire = timespec_to_jiffies(&t); current->state = TASK_INTERRUPTIBLE; expire = schedule_timeout(expire); -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/