* [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.