public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: "David S. Miller" <davem@redhat.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Start of compat32.h (again)
Date: 02 Dec 2002 09:13:58 +0100	[thread overview]
Message-ID: <p737kesu9bt.fsf@oldwotan.suse.de> (raw)
In-Reply-To: "David S. Miller"'s message of "2 Dec 2002 05:29:07 +0100"

"David S. Miller" <davem@redhat.com> writes:

> X86_64 on the other hand seems to run x86 binaries in a similar
> fashion.  I don't know how people currently doing this port intend

Yes it does.

> to do the useland, but I bet it would benefit from a mostly 32-bit
> userland just like sparc64/ppc64 does, both in space and performance.

Apart from a few unfortunate exceptions[1] the code size growth from
ia32 to x86-64 is very moderate. The binaries appear a bit bigger
because they have an .ehframe linked in by default, but .text growth
is not that bad (normally 5-10%, in some cases it even gets smaller)

Random sample (with .ehframe stripped):

64bit ls:
-rwxr-xr-x    1 root     root        76672 Oct 25 05:59 /bin/ls
  text    data     bss     dec     hex filename
  64847    7752    1136   73735   12007 /bin/ls

32bit ls: 
-rwxr-xr-x    1 root     root        68524 2002-09-09 22:56 /bin/ls
  text    data     bss     dec     hex filename
  65353    1112     872   67337   10709 /bin/ls

[< 1K .text growth, some .data growth due to 64bit pointers]

Performance is good too and gcc is a lot happier with 16 general purpose 
integer registers than with 8.

The current x86-64 distributions I'm aware of have a full 64bit userland.
That said you can run a 32bit distribution with a 64bit kernel just fine,
with the exception of modutils, but that should be fixed now with the 2.5
in kernel module loader. Good 32bit emulation is a goal for the port.

So you can run what you want - 32bit or 64bit - but the default is 64bit.

-Andi

[1] emacs is twice as big because its fundamental lisp word grows
from 32bit to 64bit. 

       reply	other threads:[~2002-12-02  8:06 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.44.0212011047440.12964-100000@home.transmeta.com.suse.lists.linux.kernel>
     [not found] ` <1038804400.4411.4.camel@rth.ninka.net.suse.lists.linux.kernel>
2002-12-02  8:13   ` Andi Kleen [this message]
2002-12-02  8:28     ` [PATCH] Start of compat32.h (again) David S. Miller
2002-12-02  9:07       ` Andi Kleen
2002-12-02  9:36         ` Jakub Jelinek
2002-12-02 17:01           ` Mikael Pettersson
2002-12-02 10:16         ` David S. Miller
2002-12-04 11:19           ` Pavel Machek
2002-12-05 21:06             ` David S. Miller
2002-12-05 21:21               ` Pavel Machek
2002-12-05 21:22                 ` David S. Miller
2002-12-05 21:32                   ` Pavel Machek
2002-11-27  7:42 Stephen Rothwell
2002-11-27  7:58 ` David S. Miller
2002-11-27 13:00   ` Stephen Rothwell
2002-11-28  5:27     ` David S. Miller
2002-11-27 18:51   ` Linus Torvalds
2002-11-28  5:34     ` David S. Miller
2002-11-27  8:00 ` David Mosberger
2002-11-27  8:06   ` David S. Miller
2002-11-27  8:29   ` Andi Kleen
2002-11-27  8:46     ` David Mosberger
2002-11-27  9:01       ` Andi Kleen
2002-11-27  9:57       ` David S. Miller
2002-11-27 17:10         ` David Mosberger
2002-11-28  5:29           ` David S. Miller
2002-11-27 12:49     ` Alan Cox
2002-11-30 20:34     ` Ralf Baechle
2002-11-27 17:18 ` Linus Torvalds
2002-11-28  5:22   ` Stephen Rothwell
2002-11-28  5:26     ` David S. Miller
2002-11-29  2:36       ` Stephen Rothwell
2002-12-01 18:54       ` Linus Torvalds
2002-12-02  4:46         ` David S. Miller
2002-12-02  4:57           ` Stephen Rothwell
2002-12-02  6:17             ` David S. Miller
2002-12-02  7:39           ` Richard Henderson
2002-12-02  7:44             ` David S. Miller
2002-12-02  7:59             ` Ralf Baechle
2002-12-02  8:01               ` David S. Miller
2002-12-04 11:22                 ` Pavel Machek
2002-12-05 21:04                   ` David S. Miller
2002-11-28  5:31   ` David S. Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=p737kesu9bt.fsf@oldwotan.suse.de \
    --to=ak@suse.de \
    --cc=davem@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox