Hi Kulwinder,

> I think this configuration shows why you were getting such low useable
> rates.  John Storrs has done some jitter testing with an ISA NE2000.  He
> first ran his tests with the card running under Linux while taking five
> samples in RTL with his PLD-based fast data acquisition board.  He
> consistently recorded a 17 uSec jitter resulting in about a 60 kHZ
> period (1/17 uS = 60 kHZ).  He then re-ran the tests with a PCI ethernet
> card and recorded a 3 uSec jitter resulting in about in about a 333 kHZ
> period.
> 
> If you are getting reliable rates at 30 kHZ then by considering aliasing
> effects this correlates strongly with John Storrs jitter period of 60
> kHz for a ISA NE2000 device.
> 
> >From this data we can say that by just switching from ISA devices to PCI
> devices, in general, one should expect to see a five times improvement
> in useable hard real time data rates.
> 
> Further, since Linux can start a bus access just prior to the start of
> an RTL interval.  The response from the device can occur during an RTL
> interval.  The simple work-around for this problem is to wait at least
> the time setting configured in the Master Latency Timer Register of each
> device queued in the PCI North Bridge plus bus access and arbitration
> delays.  This waiting must be done by successive reading of a
> clock/timer value within an RTL interval, and not by using a function
> like pthread_make_periodic_np.
> 
> The Master Latency Timer setting for each device may also be reduced.
> 
> Then there are PCI devices configured as bus masters.  By setting the
> device as a slave at the beginning of the RTL interval and returning it
> to a master at the end of the RTL interval this problem can be fixed.
> 
> This leaves PCI devices that may have been permanently configured as
> masters by the manufacturer.  These devices require an RTL driver that
> is capable of routing data between Linux and RTL while minimizing the
> impact on high data rates.  The other option is not to use such devices
> during times that they may interfere with RTL data rates.
> 
> If it possible to run some new tests using these suggestions I would be
> very interested in the results.


What about disk IO? I suspect that testing while you run something of
the type: while "true"; do ls -aR /; done, as I often do is going to
send you jitter up whatever ethercard you are using.

I always refered to jitter with the PC being used by combining real time
and normal use. When we want to avoid jitter we just setup a single user
mode and kill all the non needed deamons, getting to an operating
condition close to the old DOS, and the jitter is far lower. But that is
just for the more demanding conditions. In any case I never did true
applications in excess of a 20 Khz periodic timing on a PPRO 200. My
idea remains that you cannot use 120Khz reliably on a ix86, at least
with the more performing CPU I have, 350 Khz PIII.

Ciao, Paolo.
-- [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