linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: davidsen@tmr.com (bill davidsen)
To: linux-kernel@vger.kernel.org
Subject: Re: Unbloating the kernel, was: :mem=16MB laptop testing
Date: 24 Oct 2003 15:47:04 GMT	[thread overview]
Message-ID: <bnbhho$3o3$1@gatekeeper.tmr.com> (raw)
In-Reply-To: Pine.LNX.4.44.0310141813320.1776-100000@gaia.cela.pl

In article <Pine.LNX.4.44.0310141813320.1776-100000@gaia.cela.pl>,
Maciej Zenczykowski  <maze@cela.pl> wrote:

| On one hand I agree with you - OTOH: why not run an older version of the
| kernel? Are kernel versions 2.2 or even 2.0 really not sufficient for such
| a situation?  It should be noted that newer kernels are adding a whole lot
| of drivers which aren't much use with old hardware anyway and only a
| little actual non-driver related stuff (sure it's an oversimplification,
| but...).  Just like you don't expect to run the latest
| games/X/mozilla/kde/gnome on old hardware perhaps you shouldn't run the
| latest kernel... perhaps you should...
| 
| Sure I would really like to be able to compile a 2.6 for my 
| firewall (486DX33+40MB-2MB badram) - but is this the way to go?

The problem is that you can make a much better firewall with iptables,
so going to at least 2.4.xx is very desirable. The 2.4->2.6 change is
the first one in a long time which didn't rewrite the network code in a
major way, such as ipfwadm -> ipchains -> iptables. I don't see the
IPsec and crypto in-kernel as a big gain, freeswan was a patch and in
kernel or in a shared library is similar in memory use.

Clearly the in-kernel is faster.

| As for making the kernel smaller - perhaps a solution would be to code all 
| strings as error codes and return ERROR#42345 or something instead of the 
| full messages - there seem to be quite a lot of them.  I don't mean to 
| suggest this solution for all compilations but perhaps a switch to remove 
| strings and replace them with ints and then a seperately generated file of 
| errnum->string. I'd expect that between 10-15% of the uncompressed kernel 
| is currently pure text.

This really needs to be done as part of i18n, where a format is replaced
by an int which is an index into the local format string table. This is
very hard to do right, since the strings all need to be unique, implying
a registration. Note: please don't read "needs to be done" without the
i18n part, I'm saying that if it were to be done it should be done to
allow for i18n string tables, not that this is a critical feature!
| 
| Perhaps int->string conversion could be done by a loadable module or a 
| userspace program?

I would say tes and no, respectively.

| Of course part of the problem is that by designing the kernel for high mem 
| situations we're using more memory hogging algorithms.  It's a simple 
| matter of features vs mem footprint.

There are three (at least) driving forces:
1 - nifty new features, hopefully can be configurable
2 - algorithms needed to run on large hardware. I think in some cases
    this could be done by defining small-mem vs. big-mem macros, but it
    takes a bit of work and requires regular testing of both paths.
3 - speed vs. memory. This is sort of a subcase of (2), where only the
    very smallest machines would feel a pinch. That is, they are
    generally useful, rather than intended to support derver and cluster
    class hardware.

So (1) can be configurable if people are willing, (2) would require
implementation of an alternate code, and (3) is probably part of the
cost of a new kernel.

If people feel strongly 2.7 could start to go to mudules and/or having a
set of definitions optimized for various configurations. Before you say
that can't be done, consider that we now support a bunch of totally
unlike hardware, so it's certainly possible.
-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

  parent reply	other threads:[~2003-10-24 15:57 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-14 11:44 Unbloating the kernel, was: :mem=16MB laptop testing Marco Fioretti
2003-10-14 12:02 ` William Lee Irwin III
2003-10-14 13:24 ` Rik van Riel
2003-10-14 14:30   ` jlnance
2003-10-14 14:54     ` Richard B. Johnson
2003-10-14 16:27     ` Maciej Zenczykowski
2003-10-14 17:33       ` John Bradford
2003-10-14 17:51         ` Richard B. Johnson
2003-10-15 12:43         ` Jan-Benedict Glaw
2003-10-15 13:06           ` William Lee Irwin III
2003-10-15 16:52             ` H. Peter Anvin
2003-10-15 13:08           ` Nick Piggin
2003-10-17 11:50             ` Jan-Benedict Glaw
2003-10-17 23:21               ` Nick Piggin
2003-10-14 18:35       ` tabris
2003-10-14 21:11       ` Roger Larsson
2003-10-15 11:45       ` Jan-Benedict Glaw
2003-10-15 13:06         ` William Lee Irwin III
2003-10-15 13:22           ` Jan-Benedict Glaw
2003-10-24 15:47       ` bill davidsen [this message]
2003-10-15  6:06     ` Sandy Harris
2003-10-24 15:59       ` bill davidsen
2003-10-24 16:55         ` M. Fioretti
2003-10-24 17:14           ` bill davidsen
2003-10-25 17:42             ` Geert Uytterhoeven
2003-10-28  9:12           ` Rob Landley
2003-10-14 21:43 ` Unbloating the kernel, action list M. Fioretti
2003-10-14 22:30   ` Martin J. Bligh
2003-10-14 22:56     ` cliff white
2003-10-15 12:48       ` Jan-Benedict Glaw
2003-10-15 13:10         ` William Lee Irwin III
2003-10-15 15:05           ` Jan-Benedict Glaw
2003-10-19 11:21             ` Adrian Bunk
2003-10-21  8:04               ` Jan-Benedict Glaw
2003-10-15 18:16           ` Gabriel Paubert
2003-10-16  5:19             ` Jan-Benedict Glaw
2003-10-16  8:16               ` Gabriel Paubert
2003-10-16 16:16                 ` Jan-Benedict Glaw
2003-10-17 20:26         ` M. Fioretti
2003-10-17 20:10     ` M. Fioretti

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='bnbhho$3o3$1@gatekeeper.tmr.com' \
    --to=davidsen@tmr.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;
as well as URLs for NNTP newsgroup(s).