EmbeddedRelated.com
Forums

When is more than one PIT needed?

Started by Spoon September 5, 2006
Hello,

I need to be able to put a process to sleep for 100-1000 microseconds 
(until now, I've been using a generic Linux kernel on a low-voltage x86 
CPU). AFAIU, the x86 platform comes with several timers[*] and I had 
hoped one of them would prove useful in my situation.

[*] I tried to list all the timers in:
http://groups.google.com/group/comp.arch/msg/6be4741f4f92be6
(I found PIT, RTC, (L?)APIC timer, ACPI timer, HPET, TSC.)

At some point, I was convinced that the simplest solution would be to 
purchase a PCI card with multiple Programmable Interval Timers, such as 
ADLINK's PCI-8554:

http://www.adlinktech.com/PD/web/PD_detail.php?pid=27

Then I ran into the relatively new hrtimers infrastructure[*] which 
seems to let me do what I need. (I'm not sure how, though.)

[*] http://www.tglx.de/hrtimers.html

I'm confused. It seems a generic Linux kernel can indeed provide 
high-resolution timers without any additionnal hardware.

Then when is a card with multiple PITs needed? Have any of you ever been 
in a situation where software came up short, and the multiple PITs were 
mandatory? What are the typical uses of such a card?

Regards.
Spoon wrote:

> I need to be able to put a process to sleep for 100-1000 microseconds > (until now, I've been using a generic Linux kernel on a low-voltage x86 > CPU). AFAIU, the x86 platform comes with several timers[*] and I had > hoped one of them would prove useful in my situation. > > [*] I tried to list all the timers in: > http://groups.google.com/group/comp.arch/msg/6be4741f4f92be6 > (I found PIT, RTC, (L?)APIC timer, ACPI timer, HPET, TSC.) > > At some point, I was convinced that the simplest solution would be to > purchase a PCI card with multiple Programmable Interval Timers, such as > ADLINK's PCI-8554: > > http://www.adlinktech.com/PD/web/PD_detail.php?pid=27 > > Then I ran into the relatively new hrtimers infrastructure[*] which > seems to let me do what I need. (I'm not sure how, though.) > > [*] http://www.tglx.de/hrtimers.html > > I'm confused. It seems a generic Linux kernel can indeed provide > high-resolution timers without any additionnal hardware. > > Then when is a card with multiple PITs needed? Have any of you ever been > in a situation where software came up short, and the multiple PITs were > mandatory? What are the typical uses of such a card?
Perhaps there is a more appropriate newsgroup for this query?
On Tue, 05 Sep 2006 16:31:25 +0200, Spoon <root@127.0.0.1> wrote:

This may not be what you want but you might want to look at rtai
linux. It's basically a real time kernel with linux riding on top. I
assume you are working on one of the small board form factor  pentium
2 or up?
Wulf wrote:

> I assume you are working on one of the small board form factor > pentium 2 or up?
You assume correctly. (Low-voltage Pentium 3 in a &#4294967295;ATX motherboard.)