I've just tried rerunning some benchmarks on my panda, which I reinstalled recently and am getting some odd behaviour:
The kernel is 3.0.0-1404-linaro-lt-omap
For example: simple_strlen: ,102400, loops of ,62, bytes=6.054688 MB, transferred in ,20324707.000000 ns, giving, 297.897898 MB/s simple_strlen: ,102400, loops of ,32, bytes=3.125000 MB, transferred in ,7904053.000000 ns, giving, 395.366782 MB/s simple_strlen: ,102400, loops of ,16, bytes=1.562500 MB, transferred in ,7354736.000000 ns, giving, 212.448142 MB/s simple_strlen: ,102400, loops of ,8, bytes=0.781250 MB, transferred in ,91553.000000 ns, giving, 8533.308575 MB/s simple_strlen: ,102400, loops of ,4, bytes=0.390625 MB, transferred in ,1495361.000000 ns, giving, 261.224547 MB/s simple_strlen: ,102400, loops of ,2, bytes=0.195312 MB, transferred in ,1983643.000000 ns, giving, 98.461518 MB/s
Note the 8 byte one apparently 40 times faster, and for true oddness:
smarter_strlen_ldrd: ,102400, loops of ,62, bytes=6.054688 MB, transferred in ,3936768.000000 ns, giving, 1537.984331 MB/s smarter_strlen_ldrd: ,102400, loops of ,32, bytes=3.125000 MB, transferred in ,0.000000 ns, giving, inf MB/s smarter_strlen_ldrd: ,102400, loops of ,16, bytes=1.562500 MB, transferred in ,4180909.000000 ns, giving, 373.722557 MB/s
Now, while I like infinite transfer rates, I suspect they're wrong.
Anyone else seeing this?
Dave
On Fri, Oct 14, 2011 at 4:12 AM, David Gilbert david.gilbert@linaro.org wrote:
I've just tried rerunning some benchmarks on my panda, which I reinstalled recently and am getting some odd behaviour:
The kernel is 3.0.0-1404-linaro-lt-omap
For example: simple_strlen: ,102400, loops of ,62, bytes=6.054688 MB, transferred in ,20324707.000000 ns, giving, 297.897898 MB/s simple_strlen: ,102400, loops of ,32, bytes=3.125000 MB, transferred in ,7904053.000000 ns, giving, 395.366782 MB/s simple_strlen: ,102400, loops of ,16, bytes=1.562500 MB, transferred in ,7354736.000000 ns, giving, 212.448142 MB/s simple_strlen: ,102400, loops of ,8, bytes=0.781250 MB, transferred in ,91553.000000 ns, giving, 8533.308575 MB/s simple_strlen: ,102400, loops of ,4, bytes=0.390625 MB, transferred in ,1495361.000000 ns, giving, 261.224547 MB/s simple_strlen: ,102400, loops of ,2, bytes=0.195312 MB, transferred in ,1983643.000000 ns, giving, 98.461518 MB/s
Note the 8 byte one apparently 40 times faster, and for true oddness:
smarter_strlen_ldrd: ,102400, loops of ,62, bytes=6.054688 MB, transferred in ,3936768.000000 ns, giving, 1537.984331 MB/s smarter_strlen_ldrd: ,102400, loops of ,32, bytes=3.125000 MB, transferred in ,0.000000 ns, giving, inf MB/s smarter_strlen_ldrd: ,102400, loops of ,16, bytes=1.562500 MB, transferred in ,4180909.000000 ns, giving, 373.722557 MB/s
Now, while I like infinite transfer rates, I suspect they're wrong.
These tests are short in general at roughly 4 ms. Perhaps you're running into a scheduling resolution problem due to a low HZ value, dynamic ticks is wrong, high resolution timers being off, or some type of frequency scaling problem?
-- Michael
linaro-toolchain@lists.linaro.org