optimized Geode code (was Re: OLPC upgrades)

Tiago Marques tiagomnm at gmail.com
Sat Feb 7 20:02:09 EST 2009

On Sun, Feb 8, 2009 at 12:40 AM, S Page <info at skierpage.com> wrote:

> Tiago Marques wrote:
>> That software is still not compiled for the Geode LX, which further
> slows it down.
>> As you say, everything uses CPU on the Geode. Things like
> decompressing can be made, probably, a lot faster just by using compiler
> optimizations. Has this been considered in any way for future releases?
>> From my professional experience, compiler optimizations can account
> for 10-30% (or more) free performance.
> It seems the binaries in the OLPC OS image are just generic 386 arch
> binaries.  (Is there a way to definitively tell?  A build log like <
> http://xs-dev.laptop.org/~cscott/xo-1/streams/joyride/latest/devel_jffs2/build.log>
> is unclear.)

file doesn't say much, everything I have compiled with -march=i686 still
shows up as i386 binary. I don't know of anything that might tell us that.

> This is the case even in the jffs2 OS images that will never be used on
> anything but the stable XO hardware (or in emulation, which AIUI already
> requires AMD CPU emulation because of the tuned kernel).
> So every OLPC and activity binary should be compiled with -mtune=geode
> (optimized for Geode, but still runs on any i386), and in jffs2 images they
> should be compiled with -march=geode (only runs on Geode). ("Should" as in
> "I'd like a pink pony too" ;-) .)

I've read some reports that indicate that using -mtune should be good enough
for added performance, although I mostly compile with -march for my systems.
I never bothered to check but I'll run some tests on the XO to see if it's
significant and worth the extra effort(if feasible, as you say).

> I assume this is what GentooXO does,
> http://www.gentooxo.org/features.shtml
> https://dev.laptop.org/ticket/118 is the tracking ticket,
> http://wiki.laptop.org/go/Geode_optimization_effort the page.

Best regards,
                        Tiago Marques

> Thanks for all you do,
> --
> =S Page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/devel/attachments/20090208/ff11d0e6/attachment.html>

More information about the Devel mailing list