* [Xenomai-help] 10us periodical task (Xenomai vs. RTAI)
@ 2007-05-21 13:12 Igor Plyatov
2007-05-21 14:28 ` Gilles Chanteperdrix
0 siblings, 1 reply; 5+ messages in thread
From: Igor Plyatov @ 2007-05-21 13:12 UTC (permalink / raw)
To: xenomai
Hello!
Thank to all excellent guys who make Xenomai (great work)!
I'm novice in Xenomai.
One day I read the article at "Linux Devices" about software radio on
Linux with RTAI:
http://www.linuxdevices.com/articles/AT3239582376.html
"Coupard's demo generate a carrier frequency of 153 KHz, based on
running the real-time task on every system timer interrupt, or 306,000
times per second. Since at that rate it required a 500 MHz Pentium or
faster."
I try to make something like this with Xenomai's RTDM, but do not get
good results.
I need a kernel task, with period 10us, which do little calculations and
output data to the LPT port.
What I can get with acceptable jitter (and without any calculations in
task):
20us on 2.4GHz Pentium4
100us on 150MHz Pentium
Is it possible to get 10us results in Xenomai or not?
May be better to use only ADEOS functions for my task, is it faster then
RTDM?
What is the state of RTAI nowadays, is it still a live?
--
Igor Plyatov
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai-help] 10us periodical task (Xenomai vs. RTAI)
2007-05-21 13:12 Igor Plyatov
@ 2007-05-21 14:28 ` Gilles Chanteperdrix
2007-05-21 15:05 ` Philippe Gerum
0 siblings, 1 reply; 5+ messages in thread
From: Gilles Chanteperdrix @ 2007-05-21 14:28 UTC (permalink / raw)
To: plyatov; +Cc: xenomai
Igor Plyatov wrote:
> Is it possible to get 10us results in Xenomai or not?
Running a task with a period of 10us is usually considered a bit out of
the scope of Xenomai. Nevertheles, there were some recent improvements
on Xenomai trunk that might make this possible. It would be interesting
if you tested this with trunk and tell us whether it works.
Also note that in order to get ultra-low latencies, you have to properly
calibrate the nucleus latency (/proc/xenomai/latency).
> May be better to use only ADEOS functions for my task, is it faster then
> RTDM?
Adeos has no notion of a "task", so, you would have to implement your
task in an interrupt handler, and yes, you would get better performance
(see for example the difference between latency -t 2 and latency -t 1).
> What is the state of RTAI nowadays, is it still a live?
Well, you are not asking on the right mailing list. Try RTAI mailing list.
--
Gilles Chanteperdrix
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai-help] 10us periodical task (Xenomai vs. RTAI)
2007-05-21 14:28 ` Gilles Chanteperdrix
@ 2007-05-21 15:05 ` Philippe Gerum
0 siblings, 0 replies; 5+ messages in thread
From: Philippe Gerum @ 2007-05-21 15:05 UTC (permalink / raw)
To: Gilles Chanteperdrix; +Cc: xenomai
On Mon, 2007-05-21 at 16:28 +0200, Gilles Chanteperdrix wrote:
> Igor Plyatov wrote:
> > Is it possible to get 10us results in Xenomai or not?
>
> Running a task with a period of 10us is usually considered a bit out of
> the scope of Xenomai. Nevertheles, there were some recent improvements
> on Xenomai trunk that might make this possible.
There have been significant improvements on the Adeos/x86 side too,
especially in SMP, now that we use PDAs.
> It would be interesting
> if you tested this with trunk and tell us whether it works.
>
Figures are really to be considered wrt the underlying hw Xenomai runs
on: achieving < 10us latency is currently a no-brainer in user-space on
recent x86_64 boxen, kernel space exhibits sub-2 us latencies there with
a 500 ns calibration value for the timer, which is quite good (it's a 2
way dual core AMD Opteron 285). Results on high-end embedded PPC hw are
quite good too IIRC. It's often a matter of memory sub-system, added to
the presence of internal perturbations when it comes to the Intel world,
like SMM etc.
For instance, my oldish Dual PIII 750 Mhz delivers < 20 us in kernel
space, which is as good as what I get with a P4-based 2.4Ghz
uniprocessor system. Also, hw optimizations for the average use case
(i.e. desktop) tend to kill real-time performances on Intel boxen.
> Also note that in order to get ultra-low latencies, you have to properly
> calibrate the nucleus latency (/proc/xenomai/latency).
>
> > May be better to use only ADEOS functions for my task, is it faster then
> > RTDM?
>
> Adeos has no notion of a "task", so, you would have to implement your
> task in an interrupt handler, and yes, you would get better performance
> (see for example the difference between latency -t 2 and latency -t 1).
>
> > What is the state of RTAI nowadays, is it still a live?
>
> Well, you are not asking on the right mailing list. Try RTAI mailing list.
>
--
Philippe.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Xenomai-help] 10us periodical task (Xenomai vs. RTAI)
@ 2007-05-22 7:42 Igor Plyatov
2007-05-22 20:11 ` Gilles Chanteperdrix
0 siblings, 1 reply; 5+ messages in thread
From: Igor Plyatov @ 2007-05-22 7:42 UTC (permalink / raw)
To: xenomai
Hello!
>> > Is it possible to get 10us period for task in Xenomai or not?
>
> Running a task with a period of 10us is usually considered a bit out of
> the scope of Xenomai. Nevertheles, there were some recent improvements
> on Xenomai trunk that might make this possible. It would be interesting
> if you tested this with trunk and tell us whether it works.
Can somebody recommend applicable opensource RTOS extension for Linux
(with support for x86 and ARM)?
> Also note that in order to get ultra-low latencies, you have to properly
> calibrate the nucleus latency (/proc/xenomai/latency).
How to do this? (Please, navigate me to the rigth documentation or
answer in this list).
>> > May be better to use only ADEOS functions for my task, is it faster then
>> > RTDM?
>
> Adeos has no notion of a "task", so, you would have to implement your
> task in an interrupt handler, and yes, you would get better performance
> (see for example the difference between latency -t 2 and latency -t 1).
Can somebody give me a simple example of fast periodical "task" with
usage of only ADEOS functions.
--
Igor Plyatov
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai-help] 10us periodical task (Xenomai vs. RTAI)
2007-05-22 7:42 [Xenomai-help] 10us periodical task (Xenomai vs. RTAI) Igor Plyatov
@ 2007-05-22 20:11 ` Gilles Chanteperdrix
0 siblings, 0 replies; 5+ messages in thread
From: Gilles Chanteperdrix @ 2007-05-22 20:11 UTC (permalink / raw)
To: plyatov; +Cc: xenomai
Igor Plyatov wrote:
> Hello!
>
> >> > Is it possible to get 10us period for task in Xenomai or not?
> >
> > Running a task with a period of 10us is usually considered a bit out of
> > the scope of Xenomai. Nevertheles, there were some recent improvements
> > on Xenomai trunk that might make this possible. It would be interesting
> > if you tested this with trunk and tell us whether it works.
> Can somebody recommend applicable opensource RTOS extension for Linux
> (with support for x86 and ARM)?
On this list, we talk about Xenomai. We hope you will try Xenomai trunk
and its improvements will suit your needs.
> > Also note that in order to get ultra-low latencies, you have to properly
> > calibrate the nucleus latency (/proc/xenomai/latency).
> How to do this? (Please, navigate me to the rigth documentation or
> answer in this list).
Just run:
echo 5000 > /proc/xenomai/latency
if you want Xenomai to tick 5us in advance. To get an idea of how you
should set this latency, run the latency test. Re-run the latency test
after having set /proc/xenomai/latency to see the consequences of the
value you chose.
>
> >> > May be better to use only ADEOS functions for my task, is it faster then
> >> > RTDM?
> >
> > Adeos has no notion of a "task", so, you would have to implement your
> > task in an interrupt handler, and yes, you would get better performance
> > (see for example the difference between latency -t 2 and latency -t 1).
> Can somebody give me a simple example of fast periodical "task" with
> usage of only ADEOS functions.
Using an RTDM interrupt handler should not be slower than using an Adeos
interrupt handler. For an example using RTDM API to register an
interrupt handlers, have a look at Xenomai drivers, in the ksrc/drivers
directory.
P.S: you do not want to run a 10us periodic task on ARM, do you ? that is
impossible.
--
Gilles Chanteperdrix.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-05-22 20:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-22 7:42 [Xenomai-help] 10us periodical task (Xenomai vs. RTAI) Igor Plyatov
2007-05-22 20:11 ` Gilles Chanteperdrix
-- strict thread matches above, loose matches on Subject: below --
2007-05-21 13:12 Igor Plyatov
2007-05-21 14:28 ` Gilles Chanteperdrix
2007-05-21 15:05 ` Philippe Gerum
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.