x86-64 on i386 (was Re: Promoting i386 version over x86_64?)

Paul Jakma paul at dishone.st
Sun Dec 13 19:16:29 UTC 2009


On Sun, 13 Dec 2009, drago01 wrote:

> such a setup does not make much sense, when your hardware supports 
> x86_64 not using it for userspace is a waste ....

a) i386 has a lower memory footprint, as has been mentioned in this
    thread.

b) The amount of code on your system that is CPU bound and/or
    memory-bound due to register pressure, to an extent that the x64
    registers would make an appreciable difference is probably not
    that significant

    - kernel hotpots
    - graphics hotspots (X server perhaps)

    I havn't measured this, but nor have the people who say x86_64 is
    faster AFAICT, and there's plenty of experience to say that most
    software is far from CPU bound or memory bound.

c) There is a definite cost to a distro in having to maintain 2
    x86_64 and i386 as separate arches

    - QA
    - package building and distribution

    Every supported arch increases the size of the test matrix.

    Minimising the number of arches you have to, say, test a "cp"
    bugfix against helps reduce QA load and helps you get better
    software to your users, faster (better cause you release time
    spent on architecture QA that can be spent on improving software
    generally).

d) Like or not, i386 is the de-facto standard for binary interfaces:

    - Netscape plugins
    - Windows executables

    The retort no doubt will "Oh but this is Fedora, we don't care
    about any closed-source stuff", but that would miss the point
    entirely re *Interface*. The i386 machine can be a plugin
    interface between 2 different open-source systems, e.g. consider:

    - VM images to run in, say, QEMU/KVM
    - Sandboxing technologies for, say, browser plugins (I think
      Google have stuff in this area)
    - Free software windows-only apps (don't know if they exist)

    All the code here can be open-source/free-software and still be
    relying on i386 as a widely known and hence convenient
    /interface/. As such, it likely needs to be supported on x86_64
    kernel-based systems anyway, as performantly as possible. (And
    yeah, I gather KVM x86_64 doesn't work for i386 VMs - annoying).

So personally I think x86_64-pure is unrealistic and, independently, 
I think 32-on-64 makes sense, but hey. :)

regards,
-- 
Paul Jakma	paul at jakma.org	Key ID: 64A2FF6A
Fortune:
He who despises himself nevertheless esteems himself as a self-despiser.
 		-- Friedrich Nietzsche




More information about the fedora-devel-list mailing list