From: poornima r <rpoornar@domain.hid>
To: Wolfgang Grandegger <wg@domain.hid>
Cc: adeos-main@gna.org
Subject: Re: [Adeos-main] test results for switchtest and cyclictest on x86
Date: Wed, 14 Mar 2007 05:51:33 -0700 (PDT) [thread overview]
Message-ID: <696883.46909.qm@domain.hid> (raw)
In-Reply-To: <45DBF120.2040202@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 12298 bytes --]
Hello,
There were the results for cyclictest and switchbench test results run on X86
(without load)
System specifications:-
Xenomai: xenomai-2.3.0
Linux kernel: linux-2.6.19.3
CPU speed : 2.79GHz
Cache: 512KB
a) Switchtest:-
Results:
./switchtest -T 50 -n rtk rtup rtus
(-T:limit of test duration i.e 50 seconds
-n:disables any use of FPU instructions.
threadspec:rtk i.e kernel-space realtime thread ,rtup i.e for a user-space real-time thread running in primary mode,rtus i.e user-space real-time thread running in secondary mode)
RTT| 00:00:01
RTH|ctx switches|-------total
RTD| 1000| 1000
RTD| 1004| 2004
RTD| 1002| 3006
RTD| 1006| 4012
RTD| 1004| 5016
RTD| 1002| 6018
RTD| 1006| 7024
RTD| 998| 8022
RTD| 1006| 9028
RTD| 1004| 10032
RTD| 516| 10548
RTD| 504| 11052
RTD| 504| 11556
RTD| 504| 12060
RTD| 504| 12564
RTD| 504| 13068
RTD| 504| 13572
RTD| 504| 14076
RTD| 504| 14580
RTD| 504| 15084
RTD| 504| 15588
RTT| 00:00:22
RTH|ctx switches|-------total
RTD| 510| 16098
RTD| 846| 16944
RTD| 996| 17940
RTD| 1002| 18942
RTD| 996| 19938
RTD| 1006| 20944
RTD| 1004| 21948
RTD| 1000| 22948
RTD| 1004| 23952
RTD| 1002| 24954
RTD| 1006| 25960
RTD| 1004| 26964
RTD| 1002| 27966
RTD| 1006| 28972
RTD| 1004| 29976
RTD| 1002| 30978
RTD| 1006| 31984
RTD| 998| 32982
RTD| 1006| 33988
RTD| 1004| 34992
RTD| 1002| 35994
RTT| 00:00:43
RTH|ctx switches|-------total
RTD| 1002| 36996
RTD| 1002| 37998
RTD| 1006| 39004
RTD| 1004| 40008
RTD| 1002| 41010
RTD| 1002| 42012
RTD| 1002| 43014
RTD| 790| 43804
Total no of context switches between kernel-space realtime thread ,user-space real-time
thread running in primary mode and user-space real-time thread running in secondary mode is 43804.
b)cyclictest:-
Results:-
./cyclictest -l 100
0.59 0.13 0.06 1/99 25688
T: 0 (25688) P:99 I: 1000 C: 100 Min: 7 Act: 7 Avg: 9 Max: 24
1) Please comment on these results.
2) What are we benchmarking from the above cyclictest result?
Thanks and Regards,
Poornima
Wolfgang Grandegger <wg@domain.hid> wrote:
Hello,
poornima r wrote:
> Hello,
>
> These were the scheduling latency and interrupt
> latency test results on ppc and x86 with IPIPE tracer
> option disabled.
>
> 1.Please comment on these results (whether valid) and
Your results are OK. These are actually the figures I remember from my
own tests in the past.
> 2.Is there any method to optimize these results.
No that I know of. There are a few ideas how to reduce latencies further
like cache locking or TLB pinning.
> 1)PPC:-
> (MPC-860 at 48 MHz, 4 kB I-Cache and 4 kB D-Cache)
>
> User mode:-
> root@domain.hid# ./latency -t0
> == Sampling period: 1000000 us
> == Test mode: periodic user-mode task
> == All results in microseconds
> warming up...
> RTT| 00:00:01 (periodic user-mode task, 1000000 us
> period, priority 99)
> RTH|-----lat min|-----lat
> avg|-----latmax|-overrun|----lat best|---lat worst
> RTD| 167.000| 167.000| 167.000| 0|
> 167.000| 167.000
> RTD| 176.000| 176.000| 176.000| 0|
> 167.000| 176.000
> RTD| 168.000| 168.000| 168.000| 0|
> 167.000| 176.000
> RTD| 171.000| 171.000| 171.000| 0|
> 167.000| 176.000
>
> Kernel mode:-
> root@domain.hid# ./latency -t1
> == Sampling period: 1000000 us
> == Test mode: in-kernel periodic task
> == All results in microseconds
> warming up...
> RTT| 00:00:00 (in-kernel periodic task, 1000000 us
> period, priority 99)
> RTH|-----lat min|-----lat
> avg|-----latmax|-overrun|----lat best|---lat worst
> RTD| 123.000| 123.000| 123.000| 0|
> 123.000| 123.000
> RTD| 125.000| 125.000| 125.000| 0|
> 123.000| 125.000
> RTD| 128.333| 128.333| 128.333| 0|
> 123.000| 128.333
> RTD| 127.000| 127.000| 127.000| 0|
> 123.000| 128.333
>
> Interrupt mode:-
> root@domain.hid# ./latency -t2
> == Sampling period: 1000000 us
> == Test mode: in-kernel timer handler
> == All results in microseconds
> warming up...
> RTT| 00:00:01 (in-kernel timer handler, 1000000 us
> period, priority 99)
> RTH|-----lat min|-----lat
> avg|-----latmax|-overrun|----lat best|---lat worst
> RTD| 45.334| 45.334| 45.334| 0|
> 45.334| 45.334
> RTD| 45.000| 45.000| 45.000| 0|
> 45.000| 45.334
> RTD| 46.000| 46.000| 46.000| 0|
> 45.000| 46.000
> RTD| 47.334| 47.334| 47.334| 0|
> 45.000| 47.334
> RTD| 46.334| 46.334| 46.334| 0|
> 45.000| 47.334
On the MPC860, the latencies are mainly due code execution time as this
processor is very slow.
> 2)X86:-
> (Pentium4, 3.06GHz, 1024 KB cache size)
> User mode:-
> Sampling period: 100 us
> == Test mode: in-kernel periodic task
> == All results in microseconds
> warming up...
>
> RTT| 00:00:01 (periodic user-mode task, 100 us
> period, priority 99)
> RTH|-----lat min|-----lat avg|-----lat
> max|-overrun|----lat best|---lat worst
> RTD| 3.807| 12.825| 21.565| 0|
> 3.807| 21.565
> RTD| 3.796| 12.792| 21.483| 0|
> 3.796| 21.565
> RTD| 3.770| 12.799| 21.501| 0|
> 3.770| 21.565
> RTD| 3.578| 12.806| 20.890| 0|
> 3.578| 21.565
> RTD| 3.755| 12.809| 21.486| 0|
> 3.578|
>
> kernel mode:-
> Sampling period: 100 us
> == Test mode: in-kernel periodic task
> == All results in microseconds
> warming up...
>
> RTT| 00:00:01 (in-kernel periodic task, 100 us
> period, priority 99)
> RTH|-----lat min|-----lat avg|-----lat
> max|-overrun|----lat best|---lat worst
> RTD| 2.381| 3.451| 19.620| 0|
> 2.381| 19.620
> RTD| 2.332| 3.480| 19.930| 0|
> 2.332| 19.930
> RTD| 2.382| 3.649| 19.609| 0|
> 2.332| 19.930
> RTD| 2.323| 2.786| 14.351| 0|
> 2.323| 19.930
> RTD| 2.375| 2.532| 5.519| 0|
> 2.323| 19.930
> RTD| 2.332| 3.971| 19.617| 0|
> 2.323| 19.930
>
> Interrupt mode:-
> Sampling period: 100 us
> == Test mode: in-kernel timer handler
> == All results in microseconds
> warming up...
>
> RTT| 00:00:01 (in-kernel timer handler, 100 us
> period, priority 99)
> RTH|-----lat min|-----lat avg|-----lat
> max|-overrun|----lat best|---lat worst
> RTD| -1.563| 7.553| 15.736| 0|
> -1.563| 15.736
> RTD| -1.579| 7.558| 15.804| 0|
> -1.579| 15.804
> RTD| -1.584| 7.529| 16.167| 0|
> -1.584| 16.167
> RTD| -1.548| 7.553| 16.186| 0|
> -1.584| 16.186
> RTD| -1.585| 7.556| 16.275| 0|
> -1.585| 16.275
Latencies are mainly due to cache refills on the P4. Have you already
put load onto your system? If not, worst case latencies will be even longer.
Wolfgang.
> Thanks,
> Poornima
>
>
> --- Wolfgang Grandegger wrote:
>
>> Hello,
>>
>> poornima r wrote:
>>> Hello,
>>>
>>> Srry for not replying all these days...
>>> (Was not in in station, may be too personal!!!!!)
>>>
>>> About software emulation error:
>>>
>>> 4)Output of /proc/xenomai/faults after the illegal
>>>>> instruction:-
>>>>> root@domain.hid# cat
>>>>> /proc/xenomai/faults
>>>>> TRAP CPU0
>>>>> 0: 0 (Data or instruction
>> access)
>>>>> 1: 0 (Alignment)
>>>>> 2: 0 (Altivec unavailable)
>>>>> 3: 0 (Program check exception)
>>>>> 4: 0 (Machine check exception)
>>>>> 5: 0 (Unknown)
>>>>> 6: 0 (Instruction breakpoint)
>>>>> 7: 0 (Run mode exception)
>>>>> 8: 0 (Single-step exception)
>>>>> 9: 0 (Non-recoverable exception)
>>>>> 10: 1 (Software emulation)
>>>>> 11: 0 (Debug)
>>>>> 12: 0 (SPE)
>>>>> 13: 0 (Altivec assist)
>>>> Hm, I see a software emulation exception which is
>>>> also the reason for
>>>> the illegal instructions. What toolchain do you
>> use?
>>>> The toolchain
>>>> should support software FP emulation.
>>> 1)I am using open source too chain with software
>>> floating point emulation support.
>>> (#ppc_8xx-gcc --v
>>>
> /lib/gcc/powerpc/3.4.3/../../../../target_powerpc/usr/include/c++/3.4.3
>>> --with-numa-policy=no --with-float=soft)
>>>
>>> 2)And the kernel is included with code to emulate
>> a
>>> floating-point
>>
>>> unit, which will allow programs that
>>> use floating-point
>>
>>> instructions to run
>>>
>>> Kernel configuration
>>> ----CONFIG_MATH_EMULATION:y
>> If you build with "--with-float=soft" there is no
>> need for math
>> emulation in the kernel. Likely, there is something
>> wrong with your
>> tool-chain. Could you please try a known-to-work
>> tool-chain like the
>> ELDK v4.x from http://www.denx.de.
>>
>> Wolfgang.
>>
>>> Thanks,
>>> Poornima
>>>
>>> --- Wolfgang Grandegger wrote:
>>>
>>>> poornima r wrote:
>>>>> Hi,
>>>>>
>>>>> 1)I am using open source kernel from Kernel.org,
>>>>> but what is meant by vanilla kernel from
>>>> Kernel.org?
>>>>
>>>> It's the kernel from kernel.org. This means that
>> the
>>>> Linux kernel 2.6.18
>>>> is running fine on your MPC860 platform as is?
>>>> Thanks for the info.
>>>>
>>>>> 2)With sampling period of 500usec the system
>>>> simply
>>>>> hangs without printing any results (./latenct
>>>> -p500)
>>>>
>>>> OK.
>>>>
>>>>> 3)cyclictest with -t1 option (without
>>>> IPIPE-tracer)
>>>>> root@domain.hid#
>> ./cyclictest
>>>> -t1
>>>>> 2.04 0.50 0.17 8/27 174
>>>>>
>>>>> T: 0 ( 0) P:99 I: 1000 C: 0 Min:
>>>> 1000000
>>>>> Act: 0 Avg: 0 Max:-1000000
>>>>> Illegal instruction
>>>>>
>>>>> 4)Output of /proc/xenomai/faults after the
>> illegal
>>>>> instruction:-
>>>>> root@domain.hid# cat
>>>>> /proc/xenomai/faults
>>>>> TRAP CPU0
>>>>> 0: 0 (Data or instruction
>> access)
>>>>> 1: 0 (Alignment)
>>>>> 2: 0 (Altivec unavailable)
>>>>> 3: 0 (Program check exception)
>>>>> 4: 0 (Machine check exception)
>>>>> 5: 0 (Unknown)
>>>>> 6: 0 (Instruction breakpoint)
>>>>> 7: 0 (Run mode exception)
>>>>> 8: 0 (Single-step exception)
>>>>> 9: 0 (Non-recoverable exception)
>>>>> 10: 1 (Software emulation)
>>>>> 11: 0 (Debug)
>>>>> 12: 0 (SPE)
>>>>> 13: 0 (Altivec assist)
>>>> Hm, I see a software emulation exception which is
>>>> also the reason for
>>>> the illegal instructions. What toolchain do you
>> use?
>>>> The toolchain
>>>> should support software FP emulation.
>>>>
>>>>> 5)Running switchtest:-
>>>>> root@domain.hid#
>> ./switchtest
>>>> -n
>>>>> --The system hangs wihtout printing any results
>>>>>
>>>>> Thanks,
>>>>> Poornima
>>>>>
>>>>>
>>>>> --- Wolfgang Grandegger
>> wrote:
>>>>>> poornima r wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Thanks for the reply.
>>>>>>>
>>>>>>> Linux version:linux-2.6.18
>>>>>>> Xenomai: xenomai-2.3.0 (Stable version)
>>>>>>> adeos patch:
>> adeos-ipipe-2.6.18-ppc-1.5-01.patch
>>>>>> OK, I'm curious, did you use the vanilla kernel
>>>> from
>>>>>> kernel.org?
>>>>>> More comments below.
>>>>>>
>>>>>>> The tests were run as follows:
>>>>>>> 1)The sampling period in the code for latency
>>>> and
>>>>>>> switchbench was changed to 1000000000ns(to
>>>> remove
>>>>>>> overrun error)
>>>>>>> 2)switchtest was run with -n5 option
>>>>>>> 3)cyclictest was run with -t5 option(5
>> threads
>>>>>>> were created.)
>>>>>>> 4)cyclictest was terminated with Illegal
>>>>>> instruction
>>>>>>> (after creating 5 threads) with IPIPE tracer
>>>>>> enabled.
>>>>>>
>>>>>>> These were the results without I-PIPE Tracer
>>>>>> option:
>>>>>>> (All the tests were run without any load)
>>>>>>> 1)LATENCY TEST:-
>>>>>>> User mode:-
>>>>>>> /mnt/out_xen/bin# ./latency -t0
>>>>>>> == Sampling period: 1000000 us
>>>>>>> == Test mode: periodic user-mode task
>>>>>>> == All results in microseconds
>>>>>>> warming up...
>>>>>>> RTT| 00:00:01 (periodic user-mode task,
>>>> 1000000
>>>>>> us
>>>>>>> period, priority 99)
>>>>>>> RTH|-----lat min|-----lat avg|-----lat
>>>>>>> max|-overrun|----lat best|---lat worst
>>>>>>> RTD| 167.000| 167.000| 167.000|
>>
>>>>>> 0|
>>>>>>> 167.000| 167.000
>>>>>>> RTD| 176.000| 176.000| 176.000|
>>
>>>>>> 0|
>>>>>>> 167.000| 176.000
>>>>>>> RTD| 168.000| 168.000| 168.000|
>>
>>>>>> 0|
>>>>>>> 167.000| 176.000
> === message truncated ===
>
>
>
>
> ____________________________________________________________________________________
> Get your own web address.
> Have a HUGE year through Yahoo! Small Business.
> http://smallbusiness.yahoo.com/domains/?p=BESTDEAL
>
> _______________________________________________
> Adeos-main mailing list
> Adeos-main@domain.hid
> https://mail.gna.org/listinfo/adeos-main
>
>
---------------------------------
Don't pick lemons.
See all the new 2007 cars at Yahoo! Autos.
---------------------------------
Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives. Check it out.
[-- Attachment #2: Type: text/html, Size: 18428 bytes --]
prev parent reply other threads:[~2007-03-14 12:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <45CD730A.6000405@domain.hid>
2007-02-20 7:21 ` [Adeos-main] latency results for ppc and x86 poornima r
2007-02-21 7:13 ` Wolfgang Grandegger
2007-02-21 9:33 ` poornima r
2007-02-21 9:33 ` Nicholas Mc Guire
2007-02-21 10:49 ` Jan Kiszka
2007-02-21 10:26 ` Nicholas Mc Guire
2007-02-21 12:29 ` Jan Kiszka
2007-02-21 12:14 ` Nicholas Mc Guire
2007-02-21 13:51 ` Jan Kiszka
2007-02-21 14:52 ` Wolfgang Grandegger
2007-02-21 15:10 ` Nicholas Mc Guire
2007-02-21 18:27 ` Jan Kiszka
2007-02-21 19:07 ` Nicholas Mc Guire
2007-02-21 21:05 ` Jan Kiszka
2007-03-14 12:51 ` poornima r [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=696883.46909.qm@domain.hid \
--to=rpoornar@domain.hid \
--cc=adeos-main@gna.org \
--cc=wg@domain.hid \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.