Hi,     
        I'm hoping someone could point me in the right direction here.

I want to use RTL, initially (Using it for other stuff which I get
what's going on) in a Network Traffic Generator I've developed. The
current implementation has a QT GUI front end, and a C++ class which
deals with getting info from the user, setting up and sending out
ethernet frames. At the moment I use the timer, built into QT, to pace
the frames as best I can. The timer to set to fire every 20ms, however
if I really looked into it I suspect it not that accurate. This is where
I'd like to use RTL, for two reasons:

1) Increase the timer resolution significantly. At the moment if the
user selects to send 1000 frames per second it means a burst of 200
frames per timer tick. If I can get this much lower (1ms seem reasonable
on a PII system?) it would give a more realistic performance.

2) The traffic would be significantly less "bursty"

So the questions: I expect there a programmers guide or some thing which
will answer most of these. If there is I'd really appreciate it if
someone could point it out.

1) I've read some of the documentation and it seems that most of the RT
suff is a thread. The thing that confuses me here is that I thought a
thread executed separately within a process. Therefore what process is
this? Does it mean that the "normal" Linux process has a real time
thread running within it. Which seems kinda weird given it's process
won't be inherently Hard Read-Time.

2) In a similar theme, what define a program/process/thread what ever as
a Real Time one? Just because it calls real time stuff?

3) This is related to what I want to achieve. What can I use to achieve
pacing the frames and 1ms (OR lower ?) intervals? Is there some sort of
clock/alarm mechanism? I've looked though the man pages, not too sure
what I could use. There was a few functions to get the real time, but
that would  I guess what I was is some kind of real-time sleep(). i.e.
Send some frames (And maybe some other stuff), go to sleep for a real
amount of time, wake-up and repeat. What kind of resolution could I
expect to get?

4) IPC. Is there any preferred was of communication between RT
processes/(threads?) and normal Linux processes. I normally use
Semaphores and Shared memory. However I noticed in the FAQ this is a
trick issue if a lower priority process (The normal Linux on in this
case) gets the semaphore. Leaving the RT one hanging around waiting for
the semaphore to be released.

I'd really appreciate any help on any of these points. It seems really
cool. Just want to make sure I use it correctly.

Many thanks

Mark
-- 
Mark
-- [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