Hello, originally intended for my PPSkit patch I found out that the "normal" kernel might like this patch as well: nanosleep() currently uses "udelay()" from as there is no "ndelay()". I implemented "ndelay()" for i386 and adjusted the other macros. During that I found that some files have or use their own "delay()" routines. The original delay is dangerous, because depending on the CPU it requires loop cycles or clock cycles as argument, giving non-reliable code. Affected sources: drivers/net/hamradio/yam.c: "delay(100)" drivers/scsi/wd I also found that the scaling factor used in the existing code should be rounded up (increased by one) for a more exact value. With the new code there are two possible disadvantages: 1) Reduced accuracy, and 2) possible overflow. I hope both are not really a problem. Regards, Ulrich