Re: [PATCH] Athlon bug stomper. Pls apply.

Vojtech Pavlik (vojtech@suse.cz)
Wed, 19 Sep 2001 22:36:26 +0200


On Wed, Sep 19, 2001 at 07:55:00PM +0100, Arjan van de Ven wrote:
> Dan Hollis wrote:
> >
> > On Wed, 19 Sep 2001, Linus Torvalds wrote:
> > > It is _probably_ an undocumented performance thing, and clearing that
> > > bit may slow something down. But it might also change some behaviour,
> > > and knowing _what_ the behaviour is might be very useful for figuring
> > > out what it is that triggers the problem.
> >
> > AFAIK noone has even tested it yet to see what it does to performance! Eg
> > it might slow down memory access so that athlon-optimized memcopy is now
> > slower than non-athlon-optimized memcopy. And if it turns out to be the
> > case, we might as well just use the non-athlon-optimized memcopy instead
> > of twiddling undocumented northbridge bits...
>
> Ok but that part is simple:
>
> run
>
> http://www.fenrus.demon.nl/athlon.c

Here we go, a TBird 1.1G with KT133 (non-A), normally working with value
89 in reg 55, not exhibiting the bug under any setting.

with 89 (working, default):

Athlon test program $Id: fast.c,v 1.6 2000/09/23 09:05:45 arjan Exp $
clear_page() tests
clear_page function 'warm up run' took 20842 cycles per page
clear_page function '2.4 non MMX' took 13737 cycles per page
clear_page function '2.4 MMX fallback' took 14071 cycles per page
clear_page function '2.4 MMX version' took 13269 cycles per page
clear_page function 'faster_clear_page' took 5485 cycles per page
clear_page function 'even_faster_clear' took 5611 cycles per page

copy_page() tests
copy_page function 'warm up run' took 20049 cycles per page
copy_page function '2.4 non MMX' took 29783 cycles per page
copy_page function '2.4 MMX fallback' took 29679 cycles per page
copy_page function '2.4 MMX version' took 20173 cycles per page
copy_page function 'faster_copy' took 12641 cycles per page
copy_page function 'even_faster' took 12443 cycles per page

with 09 (working, set using "setpci -d 1106:0305 55=09"):

Athlon test program $Id: fast.c,v 1.6 2000/09/23 09:05:45 arjan Exp $
clear_page() tests
clear_page function 'warm up run' took 20763 cycles per page
clear_page function '2.4 non MMX' took 13754 cycles per page
clear_page function '2.4 MMX fallback' took 13771 cycles per page
clear_page function '2.4 MMX version' took 13340 cycles per page
clear_page function 'faster_clear_page' took 5578 cycles per page
clear_page function 'even_faster_clear' took 5774 cycles per page

copy_page() tests
copy_page function 'warm up run' took 20415 cycles per page
copy_page function '2.4 non MMX' took 29629 cycles per page
copy_page function '2.4 MMX fallback' took 29509 cycles per page
copy_page function '2.4 MMX version' took 20287 cycles per page
copy_page function 'faster_copy' took 12626 cycles per page
copy_page function 'even_faster' took 12587 cycles per page

So there is no noticeable difference. The values for 'even_faster' vary
between 10000 and 13000 between different runs with either setting of
register 55.

-- 
Vojtech Pavlik
SuSE Labs
-
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/