Re: Athlon fast_copy_page revisited

Gordon Sadler (gbsadler1@lcisp.com)
Sat, 02 Jun 2001 12:38:31 -0500


[This message has also been posted.]
On Wed, 30 May 2001 18:09:35 GMT, Jimmie Mayfield
<mayfield+kernel@sackheads.org> wrote:
<SNIP explanation>
> Arjan's original code is at: http://www.fenrus.demon.nl/athlon.c
> My modifications are at: http://sackheads.org/~mayfield/jrm_athlon.c
>
> Example test runs:
>
> copy_page() tests
> copy_page function 'warm up run' took 21350 cycles per page
> copy_page function '2.4 non MMX' took 27706 cycles per page
> copy_page function '2.4 MMX fallback' took 28600 cycles per page
> copy_page function '2.4 MMX version' took 21370 cycles per page
> copy_page function 'faster_copy' took 13119 cycles per page
> copy_page function 'even_faster' took 14767 cycles per page
> copy_page function 'jrm_copy_page_8nop' took 12774 cycles per page
> copy_page function 'jrm_copy_page_10nop' took 12746 cycles per page
> copy_page function 'jrm_copy_page_12nop' took 12740 cycles per page
>
> copy_page() tests
> copy_page function 'warm up run' took 22499 cycles per page
> copy_page function '2.4 non MMX' took 27769 cycles per page
> copy_page function '2.4 MMX fallback' took 27696 cycles per page
> copy_page function '2.4 MMX version' took 22666 cycles per page
> copy_page function 'faster_copy' took 13058 cycles per page
> copy_page function 'even_faster' took 13169 cycles per page
> copy_page function 'jrm_copy_page_8nop' took 12691 cycles per page
> copy_page function 'jrm_copy_page_10nop' took 12750 cycles per page
> copy_page function 'jrm_copy_page_12nop' took 14786 cycles per page
>
> The values obviously fluctuate depending on system activity but the jrm_*
> routines were faster in 13 out of 15 trials.
>
I have a Duron 800 socket A on an Epox 8KTA3.
Has anyone noticed fluctuations with these tests.. such as
jrm_athlon1:
...
copy_page function 'faster_copy' took 9869 cycles per page
copy_page function 'even_faster' took 9822 cycles per page
...
jrm_athlon2:
...
copy_page function 'faster_copy' took 9939 cycles per page
copy_page function 'even_faster' took 17728 cycles per page
...
jrm_athlon3:
...
copy_page function 'faster_copy' took 17711 cycles per page
copy_page function 'even_faster' took 9843 cycles per page
...

I see these with gcc 2.95.4(Debian unstable) and a local build of
gcc-3.0 from CVS last night.

Almost as though some stall and/or caching is corrupting the results.

-- 
Gordon Sadler

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/