high resolution timer

Erwin Rol mailinglists at erwinrol.com
Thu Jan 19 16:56:20 UTC 2006


On Thu, 2006-01-19 at 10:42 -0500, Gu, John A. (US SSA) wrote:
> Guys,
>  
> Is there a way to program a timer with the resolution higher than 10
> msec? I need 100 usec resolution in either kernel or user space.
> udelay( ) uses software loop to achieve the time delay. Is there a
> better interrupt driven wakeup function?

There are several ways to do this, but they are not (yet) supported by
the standard kernel as found on Fedora (or any other distro).

One way is to use a realtime extension like rtlinux or RTAI. These
extensions offer latency that is near the actual hardware latency of
your machine, which is between 15 and 50 microseconds. More information
on RTAI can be found under www.rtai.org. 

Another way is to use the realtime patches from Ingo and Thomas. They
offer also a way higher timer resolution and lower latency than the
normal kernel. Some parts of their patches are already in the next
kernel, so they seem to be the way to go, if latency of about 50-200 is
acceptable. Since this is all developer work, you will have to search
the Linux kernel mailing list for more info. The patches itself can be
found under http://people.redhat.com/mingo/realtime-preempt/

You also might want to critically look at your software/hardware on why
you need those timers. Maybe if you explain what you are trying to do
someone has a better/different solution for you that does work with the
normal kernel.

- Erwin





More information about the users mailing list