* [Xenomai-help] PPC posted results (testsuite latency)
@ 2006-08-10 17:03 GUARDIOLA-FALCO Sebastien 204282
2006-08-10 17:10 ` Jan Kiszka
0 siblings, 1 reply; 7+ messages in thread
From: GUARDIOLA-FALCO Sebastien 204282 @ 2006-08-10 17:03 UTC (permalink / raw)
To: xenomai
Hi,
Here are the results for a PowerPC MVME2700 267Mhz (32Mo RAM + 1024kb L2-cache).
Can someone cross-check them?
The default value for the kernel parameter "scheduling latency" led me to negative results, so I changed it to 4500ns. Can I improve those results with another walue, or with other parameters?
For the klatency test, I get more or less the half time I get in latency.
== Sampling period: 100 us
== All results in microseconds
RTT| 00:00:01
RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst
RTD| 1.859| 3.239| 6.179| 0| 1.859| 6.179
RTD| 2.159| 3.239| 13.559| 0| 1.859| 13.559
RTD| 1.979| 3.239| 8.879| 0| 1.859| 13.559
RTD| 2.279| 3.239| 10.259| 0| 1.859| 13.559
RTD| 1.979| 3.239| 10.319| 0| 1.859| 13.559
RTD| 2.219| 3.239| 8.939| 0| 1.859| 13.559
RTD| 2.099| 3.239| 12.419| 0| 1.859| 13.559
RTD| 2.339| 3.239| 9.479| 0| 1.859| 13.559
RTD| 2.219| 3.239| 11.759| 0| 1.859| 13.559
RTD| 1.979| 3.239| 9.479| 0| 1.859| 13.559
RTD| 2.099| 3.239| 10.439| 0| 1.859| 13.559
RTD| 1.919| 3.239| 9.899| 0| 1.859| 13.559
RTD| 2.219| 3.239| 8.999| 0| 1.859| 13.559
RTD| 2.039| 3.239| 9.779| 0| 1.859| 13.559
RTD| 1.859| 3.239| 9.659| 0| 1.859| 13.559
RTD| 1.979| 3.239| 10.919| 0| 1.859| 13.559
RTD| 2.339| 3.239| 9.779| 0| 1.859| 13.559
RTD| 2.099| 3.239| 13.499| 0| 1.859| 13.559
RTD| 1.979| 3.239| 8.999| 0| 1.859| 13.559
RTD| 2.219| 3.239| 10.919| 0| 1.859| 13.559
RTD| 1.919| 3.239| 10.259| 0| 1.859| 13.559
Sébastien Guardiola Falco.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai-help] PPC posted results (testsuite latency)
2006-08-10 17:03 [Xenomai-help] PPC posted results (testsuite latency) GUARDIOLA-FALCO Sebastien 204282
@ 2006-08-10 17:10 ` Jan Kiszka
2006-08-11 7:43 ` GUARDIOLA-FALCO Sebastien 204282
0 siblings, 1 reply; 7+ messages in thread
From: Jan Kiszka @ 2006-08-10 17:10 UTC (permalink / raw)
To: GUARDIOLA-FALCO Sebastien 204282; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 934 bytes --]
GUARDIOLA-FALCO Sebastien 204282 wrote:
> Hi,
>
> Here are the results for a PowerPC MVME2700 267Mhz (32Mo RAM + 1024kb L2-cache).
> Can someone cross-check them?
>
> The default value for the kernel parameter "scheduling latency" led me to negative results, so I changed it to 4500ns. Can I improve those results with another walue, or with other parameters?
> For the klatency test, I get more or less the half time I get in latency.
>
> == Sampling period: 100 us
> == All results in microseconds
> RTT| 00:00:01
> RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst
> RTD| 1.859| 3.239| 6.179| 0| 1.859| 6.179
> RTD| 2.159| 3.239| 13.559| 0| 1.859| 13.559
> ...
Looks quite good, maybe too good. Did you load your box? See
TROUBLESHOOTING for some hints on this. Also let it run for a longer period.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [Xenomai-help] PPC posted results (testsuite latency)
2006-08-10 17:10 ` Jan Kiszka
@ 2006-08-11 7:43 ` GUARDIOLA-FALCO Sebastien 204282
2006-08-11 8:14 ` Wolfgang Grandegger
0 siblings, 1 reply; 7+ messages in thread
From: GUARDIOLA-FALCO Sebastien 204282 @ 2006-08-11 7:43 UTC (permalink / raw)
To: jan.kiszka; +Cc: xenomai
jan.kiszka wrote:
>
> == Sampling period: 100 us
> == All results in microseconds
> RTT| 00:00:01
> RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst
> RTD| 1.859| 3.239| 6.179| 0| 1.859| 6.179
> RTD| 2.159| 3.239| 13.559| 0| 1.859| 13.559
> ...
>Looks quite good, maybe too good. Did you load your box? See
>TROUBLESHOOTING for some hints on this. Also let it run for a longer period.
What do you mean by "too good"? What could be a cause of these results?
I've tested on a 5-10 minutes basis.
For calculations loads, I tested Linux ones (like http://www.tux.org/~mayer/linux/bmark.html) that take 99% of CPU usage.
Then I used the same one compiled for Xenomai. Latency results were almost the same.
Only Linux commands seems to disturb Xenomai. I tested some "ps" and "top", locally and from a telnet connection.
Results : I reach to 4.x avg latency, and 50 worse.
Any other idea? May be a huge NFS file transfer, or socket transfer, I don't know.
Thanks,
Sébastien Guardiola Falco.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai-help] PPC posted results (testsuite latency)
2006-08-11 7:43 ` GUARDIOLA-FALCO Sebastien 204282
@ 2006-08-11 8:14 ` Wolfgang Grandegger
2006-08-23 7:24 ` [Xenomai-help] how to port to xenomai GUARDIOLA-FALCO Sebastien 204282
0 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Grandegger @ 2006-08-11 8:14 UTC (permalink / raw)
To: GUARDIOLA-FALCO Sebastien 204282; +Cc: xenomai, jan.kiszka
GUARDIOLA-FALCO Sebastien 204282 wrote:
> jan.kiszka wrote:
>> == Sampling period: 100 us
>> == All results in microseconds
>> RTT| 00:00:01
>> RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst
>> RTD| 1.859| 3.239| 6.179| 0| 1.859| 6.179
>> RTD| 2.159| 3.239| 13.559| 0| 1.859| 13.559
>> ...
>
>> Looks quite good, maybe too good. Did you load your box? See
>> TROUBLESHOOTING for some hints on this. Also let it run for a longer period.
>
> What do you mean by "too good"? What could be a cause of these results?
>
> I've tested on a 5-10 minutes basis.
> For calculations loads, I tested Linux ones (like http://www.tux.org/~mayer/linux/bmark.html) that take 99% of CPU usage.
> Then I used the same one compiled for Xenomai. Latency results were almost the same.
> Only Linux commands seems to disturb Xenomai. I tested some "ps" and "top", locally and from a telnet connection.
> Results : I reach to 4.x avg latency, and 50 worse.
The interesting figure is the worst case latency under load. If I
understood you correctly, you measured 50 + 4.5 us worse case. This is a
more resonable number for you system. Nevertheless, the big L2 cache
should help.
> Any other idea? May be a huge NFS file transfer, or socket transfer, I don't know.
I normally do "while ls; do ls; done" on the console and "ping -f
<server-ip>" in another telnet window. It's typical that the latency
jumps when you do a telnet, etc.
Wolfgang.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Xenomai-help] how to port to xenomai
2006-08-11 8:14 ` Wolfgang Grandegger
@ 2006-08-23 7:24 ` GUARDIOLA-FALCO Sebastien 204282
2006-08-23 7:52 ` Philippe Gerum
2006-08-23 12:16 ` Gilles Chanteperdrix
0 siblings, 2 replies; 7+ messages in thread
From: GUARDIOLA-FALCO Sebastien 204282 @ 2006-08-23 7:24 UTC (permalink / raw)
To: xenomai
Hi,
I'm trying to understand the better way to port my linux program to xenomai.
It has only one linux syscall : mmap(). To emulate this call, can I use native or posix skin? and how can I do (xxx_mmap()?)?
Do I have to set task mode to primary after this call?
The second issue of my code is to handle/modify task priority. In fact, I want to set maximum priority for the task. How do you do this with Xenomai?
Thanks a lot,
Sébastien Guardiola Falco.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai-help] how to port to xenomai
2006-08-23 7:24 ` [Xenomai-help] how to port to xenomai GUARDIOLA-FALCO Sebastien 204282
@ 2006-08-23 7:52 ` Philippe Gerum
2006-08-23 12:16 ` Gilles Chanteperdrix
1 sibling, 0 replies; 7+ messages in thread
From: Philippe Gerum @ 2006-08-23 7:52 UTC (permalink / raw)
To: GUARDIOLA-FALCO Sebastien 204282; +Cc: xenomai
On Wed, 2006-08-23 at 09:24 +0200, GUARDIOLA-FALCO Sebastien 204282
wrote:
> Hi,
>
> I'm trying to understand the better way to port my linux program to xenomai.
> It has only one linux syscall : mmap(). To emulate this call, can I use native or posix skin? and how can I do (xxx_mmap()?)?
> Do I have to set task mode to primary after this call?
>
> The second issue of my code is to handle/modify task priority. In fact, I want to set maximum priority for the task. How do you do this with Xenomai?
>
http://download.gna.org/xenomai/documentation/branches/v2.2.x/Native-API-Tour-rev-C.pdf
> Thanks a lot,
>
> Sébastien Guardiola Falco.
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
--
Philippe.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Xenomai-help] how to port to xenomai
2006-08-23 7:24 ` [Xenomai-help] how to port to xenomai GUARDIOLA-FALCO Sebastien 204282
2006-08-23 7:52 ` Philippe Gerum
@ 2006-08-23 12:16 ` Gilles Chanteperdrix
1 sibling, 0 replies; 7+ messages in thread
From: Gilles Chanteperdrix @ 2006-08-23 12:16 UTC (permalink / raw)
To: GUARDIOLA-FALCO Sebastien 204282; +Cc: xenomai
GUARDIOLA-FALCO Sebastien 204282 wrote:
> Hi,
>
> I'm trying to understand the better way to port my linux program to xenomai.
> It has only one linux syscall : mmap(). To emulate this call, can I use native or posix skin? and how can I do (xxx_mmap()?)?
You already asked this question for the posix skin, and I already
answered: when compiling for Xenomai, you need to use
xeno-config --posix-cflags
to get the compilation flags, and
xeno-config --posix-ldflags
to get the link-stage flags. All functions listed in
src/skins/posix/posix.wrappers are wrapped, but you may still access the
real ones by prefixing their name with __real. For example, in order to
access the real pthread_mutex_lock call instead of the Xenomai one, use
__real_pthread_mutex_lock in your code. About the mmap call, use mmap in
your code and it should work.
Now about the design of your applications, I already mentioned
it, but I think using polling with Xenomai is broken by design. The
reason is that Xenomai only works correctly if Linux works correctly,
which only happens if you let Linux run from time to time. So, if your
application is designed to use polling, you will have to forcibly
suspend the polling thread from time to time (for example by a call to
nanosleep), so your worst case latency will be the suspension time,
because the worst case will happen when the event for which you are
polling happens just at the time when you suspend the polling
thread. So, using interrupts to start polling for some time is a design
that will give lower latencies. Now the next question is: how do I use
interrupts with Xenomai ?
Xenomai posix and native skin allow you to use interrupts in
user-space. This is good for getting rapidly an application that works,
but if you are writing an application that you will have to maintain, it
is a better idea to use interrupts in kernel-space with the RTDM skin.
> Do I have to set task mode to primary after this call?
>
> The second issue of my code is to handle/modify task priority. In fact, I want to set maximum priority for the task. How do you do this with Xenomai?
If you go the posix way, then the call that will set the priority of a
task is pthread_setschedparam().
Doc here:
http://www.xenomai.org/documentation/trunk/html/api/group__posix__sched.html#ga4
>
> Thanks a lot,
>
> S~bastien Guardiola Falco.
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
--
Gilles Chanteperdrix.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-08-23 12:16 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-10 17:03 [Xenomai-help] PPC posted results (testsuite latency) GUARDIOLA-FALCO Sebastien 204282
2006-08-10 17:10 ` Jan Kiszka
2006-08-11 7:43 ` GUARDIOLA-FALCO Sebastien 204282
2006-08-11 8:14 ` Wolfgang Grandegger
2006-08-23 7:24 ` [Xenomai-help] how to port to xenomai GUARDIOLA-FALCO Sebastien 204282
2006-08-23 7:52 ` Philippe Gerum
2006-08-23 12:16 ` Gilles Chanteperdrix
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.