On Jan 23, 2008 7:52 AM, Juan Antonio Garcia Redondo <[EMAIL PROTECTED]> wrote: > Hi list, > > These are my latency results over a custom board based on AT91SAM9260. > > Environment: > kernel 2.6.20 + xenomai 2.4.0 > Load: dd if=/dev/zero of=/dev/null plus an external ping -f to > stress the ethernet. > > The results: > running: ./run -- -p 500 -T 60 -t0 # latency > > == Sampling period: 500 us > == Test mode: periodic user-mode task > == All results in microseconds > warming up... > RTT| 00:00:01 (periodic user-mode task, 500 us period, priority 99) > RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst > RTD| 45.747| 62.177| 78.286| 0| 45.747| 78.286 > ............................................................................. > RTD| 39.948| 61.211| 78.286| 0| 39.304| 88.273 > ---|------------|------------|------------|--------|------------------------- > RTS| 39.304| 61.855| 88.273| 0| 00:01:00/00:01:00 > > Thu Mar 30 01:51:36 UTC 2000 > running: ./run -- -p 500 -T 60 -t1 # latency > == Sampling period: 500 us > == Test mode: in-kernel periodic task > == All results in microseconds > warming up... > RTT| 00:00:01 (in-kernel periodic task, 500 us period, priority 99) > RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst > RTD| 19.007| 31.731| 43.813| 0| 19.007| 43.813 > ............................................................................. > ---|------------|------------|------------|--------|------------------------- > RTS| 13.501| 31.126| 71.188| 0| 00:01:00/00:01:00 > > Thu Mar 30 01:52:52 UTC 2000 > running: ./run -- -p 500 -T 60 -t2 # latency > * > * > * Type ^C to stop this application. > * > * > == Sampling period: 500 us > == Test mode: in-kernel timer handler > == All results in microseconds > warming up... > RTT| 00:00:01 (in-kernel timer handler, 500 us period, priority 99) > RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst > ............................................................................. > ---|------------|------------|------------|--------|------------------------- > RTS| -0.977| 8.521| 28.337| 0| 00:01:00/00:01:00 > > Thu Mar 30 01:54:07 UTC 2000 > running: ./run -- -T 120 # switchtest > == Testing FPU check routines... > == FPU check routines: unimplemented, skipping FPU switches tests. > == Threads: sleeper-0 rtk-1 rtk-2 rtup-3 rtup-4 rtus-5 rtus-6 rtuo-7 rtuo-8 > RTT| 00:00:01 > RTH|ctx switches|-------total > RTD| 756| 756 > .............................. > RTD| 723| 87717 > RTD| 762| 88479 > RTD| 750| 89229 > RTD| 42| 89271 > > Thu Mar 30 01:56:22 UTC 2000 > running: ./run -- -p500 -h # switchbench > == Sampling period: 500 us > == Do not interrupt this program > RTH| lat min| lat avg| lat max| lost > RTD| 47.358| 52.512| 68.298| 0 > ---|---range-|---samples > HSD| 47 - 48 | 1 > HSD| 48 - 49 | 5 > HSD| 49 - 50 | 6 > HSD| 50 - 51 | 2065 > HSD| 51 - 52 | 22440 > HSD| 52 - 53 | 41582 > HSD| 53 - 54 | 19749 > HSD| 54 - 55 | 11696 > HSD| 55 - 56 | 2131 > HSD| 56 - 57 | 1 > HSD| 60 - 61 | 1 > HSD| 62 - 63 | 1 > HSD| 63 - 64 | 21 > HSD| 64 - 65 | 95 > HSD| 65 - 66 | 107 > HSD| 66 - 67 | 63 > HSD| 67 - 68 | 29 > HSD| 68 - 69 | 3 > HSS| 99996| 52.271| 1.278 > > Thu Mar 30 01:57:25 UTC 2000 > running: ./run -- -p 10 -n -l 1000 # cyclictest > > T: 0 ( 0) P:10 I: 1000 C: 0 Min: 1000000 Act: 0 Avg: > 0 Max:-1000000 > [3A1.30 1.01 0.63 2/33 2107 > > ........................................................................................... > > T: 0 ( 2107) P:10 I: 1000 C: 0 Min: 1000000 Act: 0 Avg: > 0 Max:-1000000 > [3A1.30 1.01 0.63 2/33 2107 > > T: 0 ( 2107) P:10 I: 1000 C: 0 Min: 1000000 Act: 0 Avg: > 0 Max:-1000000 > [3A1.30 1.01 0.63 2/33 2107 > > T: 0 ( 2107) P:10 I: 1000 C: 0 Min: 1000000 Act: 0 Avg: > 0 Max:-1000000 > [3A1.30 1.01 0.63 2/33 2107 > > T: 0 ( 2107) P:10 I: 1000 C: 19 Min: 45 Act: 45 Avg: > 69 Max: 78 > [3A1.30 1.01 0.63 2/33 2107 > > ........................................................................................... > > T: 0 ( 2107) P:10 I: 1000 C: 999 Min: 39 Act: 48 Avg: > 65 Max: 84 > > I see everything OK except for the first samples of cyclictests. Any comments > ?
The load you apply does not load the cache, which is a source of jitter. You should run the cache calibrator (I do not find the cache calibrator URL, but it is somewhere in Xenomai distribution or wiki). > > Gilles, I've read your comments on adeos list about the performance > problems which you have to solve before upgrading to 2.6.23. Any news ? > Could you tell me if the above numbers shows the perfomance problem or > if I have to do another kind of test to reproduce it ? I gave news about this issue on xenomai-core mailing list. Unfortunately, there is no spurious masking section, the big masking section is the one which takes place around Xenomai user-space context switches. So, we can only improve interrupt latency, the only way to improve scheduling latency is to avoid user-space real-time. > > Regards, > Juan Antonio > > _______________________________________________ > Xenomai-help mailing list > [email protected] > https://mail.gna.org/listinfo/xenomai-help > -- Gilles Chanteperdrix _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
