Hello,

I'm continuing my fun with RT-Linux. I've setup an interrupt driven
task which uses the 2MHz clock (82C53) of a National Instruments PCI
DIO-96 board. The interrupts trigger an rt-isr which changes 64 output
lines of the IO board. The plan for the final product is to use the
DAQ-STC of an NI PCI-E series MIO board.

The upside is this chews very little of the foreground processing
on the PPro 200MHz system I'm using (2 cpus, only using one right now); it
performs much better than the periodic task used previously
(http://www.med.uvm.edu/~gaffney/scope.html). The periodic task pretty
much locked up the machine below a 20 microsecond period, the machine
is still somewhat usable in irq-mode down to 5 microseconds (it locked
at 3).

The downside is that there is a very large amount of jitter, about
20 microseconds on either side of the scheduled time. This only
occurs around every 5-15 seconds, but it does happen. (If folks
want to look at the traces then let me know and I'll put them up,
but they don't look different than the periodic task in terms of jitter).

To me this sounded similar to the observation below...

On Wed, 7 Oct 1998, Manoj Apte wrote:

> 
> Its not just the 8253 access time (which IS significant .. i measured it
> to be about 2us-3us per write), I did the same test using the Realtime
> Clock (RTC) giving me an interrupt at a regular frequency. and same kinda
> spikes showup.
> 
> The reason i got a lil more convinced onthe bottom half argument is that,
> if one looks thru the irq0 handler code, at many places it does a cli/sti
> (4 actually) so I tend to believe this could be the cause. Though.. the
> 20us still bothers me.. since the duration of those cli's arent THAT big.
>  

On Saturday (7-November-1998) Paolo Mantegazza noted (with regard to
short duration tasks < 100 microseconds):

> The situation can be improved only by changing the basics of interrupt
> menagment in Linux or by getting rid of the 8259 and ISA bus as RTL has
> to register Linux interrupts anyhow, even if it does not process them.
> That's where most of the jitter comes.

So what are others seeing in terms of jitter for _interrupt driven_ tasks?

Should I be able to do better than +/-20 us?

I will be trying the Mantegazza variant, but this shouldn't help for
interrupt tasks, should it?

Thanks for any help you can offer,

-Don

--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to