high resolution timer

Mike McCarty mike.mccarty at sbcglobal.net
Thu Jan 19 16:32:19 UTC 2006


Gu, John A. (US SSA) wrote:
> Guys,
>  
> Is there a way to program a timer with the resolution higher than 10

Which timer? Do you mean the 8254(*) timer chip? Certainly it can
be programmed to provide interrupts at a faster rate. But you
need to recall that this particular timer is based on a 14.3818 MHz/16
(IIRC) clock. Also, you would need a truely real time kernel to
respond to 100us time period interrupts.

Or perhaps you mean some other timer currently available. (The
epoch when I did high-resolution timing on Intel equipment was
several years ago, and there may be things now present I'm
not aware of.)

> 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?

Certainly for MSDOS such things exist. Or one can loop polling the
chip, if all you want is a delay. The base is about 800ns.
But I suspect that there are interrupt routines in most/all
Linux distros not specifically designed for real time which run
for more than 100us. And you'd have to disable context switching
somehow.

(*) Yes, I know it's in a chipset, not a separate chip.

Mike
-- 
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!




More information about the fedora-list mailing list