Forgot to mention this, nanosleep calls udelay for delays of <= 2 ms. sys_nanosleep() in kernel/timer.c All code references w.r.t. 2.4.18. Amit Amit D Chaudhary wrote: > Daniel, > > There was an earlier post that jiffies can be changed I have read the > earlier too, never tried. I have also read that the impact is the > interrupt handler and respective tasklets based on timer, etc start > running more frequently thereby affecting the overall system performance. > > There are processor and platform specific ways of getting more finer > timer information including registers like the TSC(time stamp counter) > > udelay, etc are typically implemented using tight loops or platform > specific manner. For ppc, there is a ppc asm instruction and alternative in > __const_udelay() and udelay() in include/asm-ppc/delay.h > > for i386, check the TSC and asm implementation called from > __delay() in arch/i386/lib/delay.c > > Needless to say neither are approximations! :) > > Another project worth a look is High Res POSIX timers > http://sourceforge.net/projects/high-res-timers/ > The readme of the project is also a good intro > http://sourceforge.net/project/shownotes.php?group_id=20460&release_id=46217 > > > Finally, it would help to read the timer chapter, "Flow of time" in the > linux device drivers, ed 2 book at > http://www.xml.com/ldd/chapter/book/ch06.html > > or even better buy that book, it is worth it. > > Regards > Amit > > > > > Daniel Marian wrote: > >> Hello Amit/All, >> If the timer granularity cannot go below 10ms then how is the >> functionality of the nanosleep and usleep >> system calls in Linux implemented ? >> >> Is it an approximate ? >> How do I know the clock ticks in a Linux box(i386) Like /proc/cpuinfo >> etc. >> >> Is the timer granularity in the kernel different? >> >> I feel all the above are newbie questions sorry abt it >> >> TIA >> kind regards, >> daniel marian. >> >> >>> Daniel, >>> >>> It probably won't work, that is the timeout will occur only at 10ms, >>> that is per tick(timer interrupt) >>> >>> Amit >>> >>> >>> Daniel Marian wrote: >>> >>>> Hello, >>>> The tick in Linux is 10ms. >>>> In my userspace program can I have a timeout value less than this >>>> granularity. >>>> >>>> Example a timeout value of 4 milliseconds. >>>> If this is possible, how is this taken care by the kernel ? >>>> >>>> thanks, >>>> daniel. >>> >>> >>> >>> >> > > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > FAQ: http://kernelnewbies.org/faq/ > -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/