public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: peter@horizon.com
To: linux-kernel@vger.kernel.org
Subject: Re: Hardwired drivers are going away?
Date: 15 Jan 2002 02:58:40 -0000	[thread overview]
Message-ID: <20020115025840.11509.qmail@science.horizon.com> (raw)

I don't mind how people do it, but there are currently two significant
penalties associated with modules on x86.  I think other architectures
have analogues.

1) The main kernel is contiguous in physical memory and is mapped with
   large (4 MB) pages.  This reduces pressure on the TLB.  Modules are
   loaded in vmalloc memory, which uses small pages, and therefore
   competes for TLB space.  This is a performance penalty, especially
   as most current machines have undersized TLBs already.  (A 64-entry
   TLB with 4K pages maps 256K at a time.  On-chip L2 caches are this
   large or larger.  Thus, as a crude approximation, every L2 miss also
   causes a TLB miss.)

   Also, vmalloc space is limited, and contributes to the "why isn't
   the kernel seeing all of my 1 GB?" question.

2) Space for module code is allocated in page units.  Thus, each module
   wastes an average of 2K.  If I'm going to have dozens of modules
   loaded, small machines are going to notice.


On a related subject, I'd like a kernel image to consist of a series
of concatenated "chunks".  The first one is the kernel proper, and then
come various modules and initrd image(s).  (There may be an "EOF" chunk,
or just the absence of a magic number.)

All the boot loader has to do is copy the image into contiguous memory
and jump to it.  The start of the image (ideally, it'd be PIC) then
relocates itself to wherever it wants and starts assembling the pieces.

Whether this is done by a sort of linker before the kernel boots, or
if the chunks are all ramdisk components and form a userland that the
kernel boots to which assemble the rest of the kernel is not particularly
important.  I just want the unnecessary bits to get thrown away once
we've booted.  (Kernel bloat should NOT be designed in.)

That would make assembling a custom boot image simple enough for a fancy
boot loader (or fancy tftp server) to do.

             reply	other threads:[~2002-01-15  2:59 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-15  2:58 peter [this message]
2002-01-15 12:44 ` Hardwired drivers are going away? Alan Cox
2002-01-15 12:39   ` David S. Miller
2002-01-15 18:39     ` Rob Landley
     [not found] <20020115025840.11509.qmail@science.horizon.com.suse.lists.linux.kernel>
2002-01-15 12:16 ` Andi Kleen
     [not found] <mailman.1011034621.1626.linux-kernel2news@redhat.com>
2002-01-14 23:33 ` Pete Zaitcev
     [not found] <fa.g055bvv.qmq0hk@ifi.uio.no>
     [not found] ` <ksahkuv.tg60gl@ifi.uio.no>
2002-01-14 22:22   ` Chris Adams
  -- strict thread matches above, loose matches on Subject: below --
2002-01-14 17:55 ISA hardware discovery -- the elegant solution Mr. James W. Laferriere
2002-01-14 18:08 ` Alan Cox
2002-01-14 18:10   ` Hardwired drivers are going away? Eric S. Raymond
2002-01-14 18:50     ` David Lang
2002-01-14 19:04       ` Alan Cox
2002-01-14 18:57         ` David Lang
2002-01-14 19:03           ` Andrew Pimlott
2002-01-14 19:21           ` Alan Cox
2002-01-15 10:45           ` Horst von Brand
2002-01-15 11:13             ` crispin
2002-01-15 14:25             ` David Lang
2002-01-14 19:00         ` Mr. James W. Laferriere
2002-01-14 19:17           ` Alan Cox
2002-01-14 19:14             ` Mr. James W. Laferriere
2002-01-14 19:37               ` Alan Cox
2002-01-14 20:28                 ` Mr. James W. Laferriere
2002-01-14 19:44             ` David Lang
2002-01-14 20:09               ` Alexander Viro
2002-01-14 20:49                 ` Chris Friesen
2002-01-14 20:55                   ` Alexander Viro
2002-01-14 20:51               ` Ian Molton
2002-01-14 22:11                 ` David Lang
2002-01-14 23:12                   ` Brian Gerst
2002-01-14 23:17                     ` David Lang
2002-01-14 23:22                   ` Ian Molton
2002-01-15  0:40                     ` H. Peter Anvin
2002-01-14 19:54             ` David Lang
2002-01-15 17:27             ` Aaron Lehmann
2002-01-15 17:47               ` Alexander Viro
2002-01-15 19:48               ` Alan Cox
2002-01-18 12:39           ` Florian Weimer
2002-01-18 22:20             ` Mr. James W. Laferriere
2002-01-18 23:22               ` Keith Owens
2002-01-20 23:20                 ` Frank van de Pol
2002-01-21  0:54                   ` Bruce Harada
2002-01-21  3:49                     ` Andreas Ferber
2002-01-21  4:45                       ` Bruce Harada
2002-01-21  5:12                         ` Andreas Ferber
2002-01-21  1:06                 ` Anton Altaparmakov
2002-01-21  1:07                   ` Mr. James W. Laferriere
2002-01-21  1:30                     ` Andrew Morton
2002-01-21  1:53                       ` Keith Owens
2002-01-21  2:04                         ` Andrew Morton
2002-01-21  2:25                           ` Keith Owens
2002-01-21  2:56                             ` Andrew Morton
2002-01-21  3:43                               ` Keith Owens
2002-01-21  4:24                                 ` Andrew Morton
2002-01-21  3:44                             ` yodaiken
2002-01-21 20:57                               ` Kai Henningsen
2002-01-21  2:13                         ` John Levon
2002-01-21  2:31                           ` Keith Owens
2002-01-21 23:52                             ` Thomas Zimmerman
2002-01-21  9:34                       ` Horst von Brand
2002-01-21 14:29                         ` John Levon
2002-01-21  1:31                   ` Anton Altaparmakov
2002-01-14 19:27       ` Alexander Viro
2002-01-15 17:24       ` Aaron Lehmann
2002-01-15 18:17         ` David Lang
2002-01-15 19:25           ` Aaron Lehmann
2002-01-15 19:44         ` Kai Henningsen
2002-01-14 18:54     ` Mr. James W. Laferriere
2002-01-14 18:56     ` Alan Cox
2002-01-14 18:39       ` Eric S. Raymond
2002-01-14 19:09     ` Alexander Viro
2002-01-14 14:19       ` Rob Landley
2002-01-14 22:33         ` Greg KH
2002-01-15 11:35         ` Keith Owens
2002-01-15 15:34           ` Oliver Xymoron
2002-01-14 19:24       ` Alan Cox
2002-01-14 20:17       ` Eric S. Raymond
2002-01-14 14:57         ` Rob Landley
2002-01-14 20:51         ` David Lang
2002-01-14 22:18         ` Oliver Xymoron
2002-01-15 19:20         ` Horst von Brand
2002-01-16  9:00           ` Eric S. Raymond
2002-01-14 23:12       ` Rusty Russell
2002-02-09  0:19     ` Dr. Kelsey Hudson

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=20020115025840.11509.qmail@science.horizon.com \
    --to=peter@horizon.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