public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Jeff Garzik <jgarzik@mandrakesoft.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Dave J Woolley <david.woolley@bts.co.uk>,
	andrew.grover@intel.com, linux-kernel@vger.kernel.org,
	acpi@phobos.fachschaften.tu-muenchen.de,
	Alexander Viro <viro@math.psu.edu>
Subject: Re: [Acpi] Re: ACPI fundamental locking problems
Date: 12 Jul 2001 15:18:18 -0600	[thread overview]
Message-ID: <m1r8vl7so5.fsf@frodo.biederman.org> (raw)
In-Reply-To: <Pine.LNX.4.33.0107040956310.1668-100000@penguin.transmeta.com> <m1zoaa6sy0.fsf@frodo.biederman.org> <3B4DCCF8.16B27789@mandrakesoft.com>
In-Reply-To: <3B4DCCF8.16B27789@mandrakesoft.com>

Jeff Garzik <jgarzik@mandrakesoft.com> writes:

> "Eric W. Biederman" wrote:
> > That and the linux tools for making small binaries are relatively
> > immature.
> 
> I am rapidly discovering that :(
> 
> I wouldn't mind, for example, having a linker that is smart enough to
> eliminate dead code inside code sections, and can rewrite function
> prologues to more optimized forms once it knows the entire scope of said
> functions.  (ie. an optimizing linker)

I'll worry about the linker when the embedded libc problem is handled.
uClibc is the most mature when I looked several months ago, and unlike dietlibc
it actually tried not to user kernel headers.
 
> > > I don't like the current initrd very much myself, I have to admit. I'm not
> > > going to accept a "you have to have a ramdisk" approach - I think the
> > > ramdisks are really broken.
> > >
> > > But I've seen a "populate ramfs from a tar-file built into 'bzImage'"
> > > patch somewhere, and that would be a whole lot more palatable to me.
> > 
> > To some extent I'd prefer to build the tar-file into vmlinux as that
> > makes it a multi architecture solution.  I don't like the fact that
> > rdev only works on x86.
> 
> IMHO rdev -should- work on other platforms.  There -should- be a way to
> set flags inside an already-built kernel image.  That concept is not
> inherently x86.
> 
> That is why I favor
> 
> 	cat bzImage ramfs.tar.gz > vmlinuz
> 	rdev vmlinuz i-have-a-ramfs
> 
> It's -much- more flexible than actually building the initramfs into the
> kernel.
> 
> Admittedly I'm biased but IMHO the only reason why people want to lose
> flexibility by avoiding this approach is to avoid coming up with an rdev
> concept that works on alpha, sparc, ...  :)

Which is why I mentioned vmlinux.  All platforms build it at some stage.

> > - The version of ``preinit'' cannot use glibc, there is too much
> >   bloat.  uclibc is o.k. but a little immature.  We can probably use
> >   the infrastructure we have in linux/unistd.h for doing system calls
> >   from the kernel to remove any dependieces on other packages.  But
> >   using kernel headers from user space has been outlawed...
> 
> There should be no need to use linux/unistd.h infrastructure.  dietlibc
> is just as small (smaller than uClibc in the cases I've tried), and has
> already done this.  They even have dynamic linking going for x86, arm,
> sparc, and maybe others.  http://www.fefe.de/dietlibc/

I've played with it.  Dietlibc is horrible on alpha.  The basic problem
is dependecies on kernel headers.  uClibc was at least straight forward
to port.  In my backlog of things to do is get the uClibc port to alpha
contributed.

> > - We must be architecture netural.  Do this only for x86 is
> >   unacceptable.
> 
> obviously

I saw plenty of reference to bzImage and vmlinuz, it is only obvious
in hindsight.  

> > - The _init stuff that allows us to throw code after device
> >   initialization would need to be disabled to some extent because it
> >   would now depends on code in user space.
> 
> I don't see this at all, can you elaborate?

Well if you don't know the devices is there, you can't throw away it's
initialization routine.  This problem already exists to some extent with
hot-plug pci devices.  But if you treat the host pci bridge as a hot-plug
pci device, then everything else is as well..

> > Irq tables.  A corrected system memory map.  Builtin ISA devices.
> > Long term we need is an interface to feed a pre intialized
> > ``struct device'' (the renamed struct pci_device) tree into the kernel.
> 
> ie. come up with our own firmware->kernel information passing interface
> :)
> 
> Let's make it better than ACPI this time, shall we?  :)

It's probably the most important thing on my todo list, (with the
exception of convincing AMD it's not a problem to release a few extra
lines of code)...  Though
since it is most grunt work and detail checking I'm not even going to
look at it until I'm back from vacation :)

Eric

  reply	other threads:[~2001-07-12 21:24 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-04 10:37 [Acpi] Re: ACPI fundamental locking problems Dave J Woolley
2001-07-04 11:03 ` Alan Cox
2001-07-04 17:05   ` Linus Torvalds
2001-07-05  8:20     ` Helge Hafting
2001-07-05  8:34       ` Jeff Garzik
2001-07-05 11:21       ` Alan Cox
2001-07-05 13:42       ` Alexander Viro
2001-07-05 15:17       ` Linus Torvalds
2001-07-06  7:34         ` Benjamin Herrenschmidt
2001-07-06  8:45         ` Helge Hafting
2001-07-06 11:16           ` Alan Cox
2001-07-06 12:42             ` Daniel Phillips
2001-07-09 23:05         ` Pavel Machek
2001-07-07 10:32     ` Eugene Crosser
2001-07-07 11:32       ` Alexander Viro
2001-07-07 13:37         ` Eugene Crosser
2001-07-07 13:50           ` Jeff Garzik
2001-07-07 17:24             ` Daniel Phillips
2001-07-07 21:31               ` Jamie Lokier
2001-07-07 21:44                 ` Steve VanDevender
2001-07-08  7:26                 ` Alexander Viro
2001-07-08 16:46                   ` Jonathan Lundell
2001-07-09 14:40                 ` Anthony DeBoer
2001-07-07 11:34       ` Jeff Garzik
2001-07-07 21:40         ` Mike Touloumtzis
2001-07-07 21:54           ` Jamie Lokier
2001-07-07 22:00             ` arjan
2001-07-07 22:15               ` Jamie Lokier
2001-07-07 22:04             ` Mike Touloumtzis
2001-07-07 22:14               ` Jamie Lokier
2001-07-08  2:57                 ` Keith Owens
2001-07-12 15:57     ` Eric W. Biederman
2001-07-12 16:14       ` Jeff Garzik
2001-07-12 21:18         ` Eric W. Biederman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-07-06  5:26 Andreas Dilger

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=m1r8vl7so5.fsf@frodo.biederman.org \
    --to=ebiederm@xmission.com \
    --cc=acpi@phobos.fachschaften.tu-muenchen.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrew.grover@intel.com \
    --cc=david.woolley@bts.co.uk \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    /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