Michel Doyon wrote:
>
> Hi,
>
> I have been performing some timings with the semaphores under RTAI.
> I have a DUAL P-III 500 Mhz.
>
> I find a 9 usec time between the moment a semaphore is released on one CPU
> and the time a task on the other CPU is started. The initial semaphore
> release is done by a user put to the rt fifo and the fifo handler make
> the real call.
>
> On the other hand, I find that with a interrupt handler, releasing a
> semaphore to say task 1 running on the same CPU, it takes roughly the same
> time (10 usec) but if the task is set to run on a different cpu, than the
> irq hanbdler, it takes up to 16 usec.
>
> Do these number make sense ? I run the scheduler for SMP and rtai 0.9a
> with kernel 13 of linux.
>
> I took my measurements using a outb to the paralle port.
>
> Any comments or suggestions to speed this up ? I have been told that
> Windows NT is around 5 usec ... BUT I have not seen it myself nor have
> details on the timing measurement system.
>
> Thank you
>
> Michel
The extra time taken to go to another CPU is due to the need on sending
an interprocessor message to wake up the task on the other CPU, which in
turn is leads to another interrupt to cause a task switch to wake up the
signalled task.
If you think it can be better done, force your tasks assignement to CPUs
statically in the way you believe the best. It can be done with both the
SMP and MUP scheduler.
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/