[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091108181016.GB32364@elf.ucw.cz>
Date: Sun, 8 Nov 2009 19:10:17 +0100
From: Pavel Machek <pavel@....cz>
To: Matteo Croce <technoboy85@...il.com>
Cc: "H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org
Subject: Re: i686 quirk for AMD Geode
On Sun 2009-11-08 18:40:06, Matteo Croce wrote:
> On Sun, Nov 8, 2009 at 6:37 PM, Pavel Machek <pavel@....cz> wrote:
> > On Fri 2009-11-06 23:18:06, Matteo Croce wrote:
> >> On Fri, Nov 6, 2009 at 5:44 PM, H. Peter Anvin <hpa@...or.com> wrote:
> >> > On 11/06/2009 06:59 AM, Matteo Croce wrote:
> >> >> indeed it has MMX, MMXEXT and CMOV, just lacks the long NOP instruction (NOPL).
> >> >
> >> > MMX and MMXEXT are hardly hallmarks of i686, which leaves only cmov.
> >> > I'm somewhat wondering about the general value of this patch; is i686
> >> > code really that much faster on Geode that it's worth it?
> >> >
> >> > ? ? ? ?-hpa
> >> >
> >> > --
> >> > H. Peter Anvin, Intel Open Source Technology Center
> >> > I work for Intel. ?I don't speak on their behalf.
> >> >
> >> >
> >>
> >> yes, I did some test like gzip, bzip2, lame etc and they give more or less
> >> the same results of dhrystone
> >>
> >> root@...x:/usr/src# CFLAGS='-march=i586' ./dry.c
> >> Microseconds for one run through Dhrystone: 1.4
> >> Dhrystones per Second: 740741
> > ...
> >> root@...x:/usr/src# CFLAGS='-march=i686' ./dry.c
> >> Trying 5000000 runs through Dhrystone:
> >> Microseconds for one run through Dhrystone: 1.2
> >> Dhrystones per Second: 841751
> >
> > Teach gcc that geodelx exists? No need to break kernel for that... and
> > you probably can gain even bigger gains.
>
> Gcc 4.4 already knows about it, just sucks at optimizing:
Good. So there's really no point in breaking kernel.
> # CFLAGS='-march=geode' ./dry.c
> gcc -c -O3 -march=geode ./dry.c -o dry1.o
> gcc -DPASS2 -O3 -march=geode ./dry.c dry1.o -o dry2
>
> Dhrystone Benchmark, Version C, Version 2.2
> Program compiled without 'register' attribute
> Using times(), HZ=100
>
> Trying 5000000 runs through Dhrystone:
> Microseconds for one run through Dhrystone: 1.4
> Dhrystones per Second: 719424
...fix gcc to genereta code at least as good as for i686 and you are
done...?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists