Victor Yodaiken wrote:
>
> On Fri, Jul 09, 1999 at 05:28:15PM +0000, Paolo Mantegazza wrote:
> > Victor Yodaiken wrote:
> > > You can prove whatever you want, but I have timed a single outb to the isa
> > > interface at 12microseconds on a PII LX chipset.
> >
> > Dear Victor,
> >
> > let have it this way.
> >
> > Under RTL the you can run, on a PPRO 200, a single bit toggling task at
> > up to 120 Khz in periodic mode, but in the oneshot mode at 20 Khz it is
> > short of breathing.
> >
> > Under our RTL variants, and RTAI, that is roughly 120/95, and the ratio
>
> There are several variables
> 1. Test. If you run a simple test
> rdtsc
> outb
> rtsc
>
> on all the x86 motherboards I have tested, you find a worst case delay
> of over 10 microseconds if the outb is to the timer. This is a consequence
> of the specification of the ISA bus as far as I know. Perhaps, however
> I am just unlucky in choice of motherboards.
>
> 2. Version of RTL
>
> 3. Adjust time. If you are willing to busy wait during Linux periods,
> then you can run a periodic task oneshot at a higher frequency. That
> is: getinterrupt, while tsc shows not ready loop; run task.
> I have not seen a reason to do that beyond a very minor level although
> perhaps I am not well informed. If you want a 100Khz task you
> have to run the task every 10microseconds anyway. So I don't see
> how the oneshot mode gets you anything in that case. Can you
> give me an example?
I agree with you, I do not use oneshot for 100Khz, is just to show that
it can be easily improved in RTL once you adopt our approach. A fact
that is important especially on UPs.
What I want to say and prove is that if you:
just set the 8254 in oneshot mode once for all,
use the tsc clock to do all the timing, instead of reading timer2 of the
8254 twice for scheduling, which is 6 in-outb operations,
do just two outb to program the next shot;
you gain 6 slow in out operations on the ISA bus, and a lot of
performances.
As you pointed out that means about 10 us or more, up to 150 on that bad
LX chipset. So, even when a local APIC is not available, you live
substantial microsecs for any use.
Just that, nothing else. In the spirit of open and free software
remember that it can be simple, it has just to be copied from what we
did. No doubt you can even improve it, so that I'll copy back in turn.
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/