netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Chris Dukes <pakrat@www.uk.linux.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Jeff Garzik <jgarzik@pobox.com>, Robin Holt <holt@sgi.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	netdev@oss.sgi.com
Subject: Re: Make ipconfig.c work as a loadable module.
Date: Fri, 7 Mar 2003 09:42:35 +0000	[thread overview]
Message-ID: <20030307094235.A11807@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20030307012905.G20725@parcelfarce.linux.theplanet.co.uk>; from pakrat@www.uk.linux.org on Fri, Mar 07, 2003 at 01:29:05AM +0000

On Fri, Mar 07, 2003 at 01:29:05AM +0000, Chris Dukes wrote:
> If IBM can fit a kernel and a ramdisk containing all the utilities you
> describe and more in smaller than 5M of file for tftp, one would think 
> that it could be done on Linux.

Wow.  5MB eh?  We currently do NFS-root in 690K.

> > ipconfig.c does more than just configure networking.  It's a far smaller
> > solution to NFS-root than any userspace implementation could ever hope
> > to be.
> 
> That's nice.  Would you mind explaining to us where that would be a
> benefit?  Aside from dead header space in elf executables, I'm at
> a loss as to how a usermode implementation must be significantly
> larger than kernel code.

If you're suggesting above that "5MB isn't significantly larger than
the size Linux can do this" then I think I've just proven you wrong.

Lets see - building an ramdisk to mount a root filesystem out of existing
binaries would require from my exisitng systems probably something like:

   text    data     bss     dec     hex filename
1093047   21224   15560 1129831  113d67 /lib/libc.so.6
 515890   22320   16640  554850   87762 /bin/sh
  58540    2436    9776   70752   11460 /lib/libresolv.so.2
  53685    1476    5488   60649    ece9 /bin/mount
  45511     672     432   46615    b617 /bin/sed
  42830     624      40   43494    a9e6 /sbin/pump
  10783     500     104   11387    2c7b /lib/libtermcap.so.2
   8765     444      28    9237    2415 /lib/libdl.so.2

pump isn't really suitable for the task, but I don't have dhcpcd around.
dhcpcd is even larger than pump however.

That's getting on for 2MB vs:

   2620    2012       0    4632    1218 fs/nfs/nfsroot.o
   8016     380      80    8476    211c net/ipv4/ipconfig.o

about 13K.

Which version is overly bloated?
Which version is huge?
Which version is compact?

Even the klibc ipconfig version is significantly larger than the in-kernel
version - and klibc and its binaries are written to be small.



Note: I *do* agree that ipconfig.c needs to die before 2.6 but I do not
agree that today is the right day.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

  reply	other threads:[~2003-03-07  9:42 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-06 21:10 Make ipconfig.c work as a loadable module Robin Holt
2003-03-06 22:34 ` Alan Cox
2003-03-06 22:11   ` Jeff Garzik
2003-03-06 22:25     ` Russell King
2003-03-06 22:32       ` Jeff Garzik
2003-03-07  0:13       ` Alan Cox
2003-03-06 23:19         ` Russell King
2003-03-07  0:29           ` Alan Cox
2003-03-07  0:08             ` Russell King
2003-03-07  1:29               ` Chris Dukes
2003-03-07  9:42                 ` Russell King [this message]
2003-03-07 11:46                   ` Bogdan Costescu
2003-03-08  2:03                     ` Eric W. Biederman
2003-03-08 10:45                       ` Bogdan Costescu
2003-03-08 16:07                         ` Eric W. Biederman
2003-03-08 16:19                           ` Russell King
2003-03-08 16:48                             ` Eric W. Biederman
2003-03-08 17:05                               ` Russell King
2003-03-08 18:01                                 ` Eric W. Biederman
2003-03-07 13:38                   ` Chris Dukes
2003-03-07 14:29                     ` Russell King
2003-03-07 16:23                       ` Richard B. Johnson
2003-03-07 21:47                   ` William Lee Irwin III
2003-03-07 22:00                     ` Chris Friesen
2003-03-07  7:15             ` Michael Mueller
2003-03-07 12:54               ` Alan Cox
2003-03-07 21:33                 ` Michael Mueller
2003-03-09  4:46                 ` Arnaldo Carvalho de Melo
2003-03-07  9:10             ` Denis Vlasenko

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=20030307094235.A11807@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=holt@sgi.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@oss.sgi.com \
    --cc=pakrat@www.uk.linux.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;
as well as URLs for NNTP newsgroup(s).