Subject: Re: RFC: migration to a fully dynamically linked system
To: Todd Vierling <tv@wasabisystems.com>
From: sudog <sudog@sudog.com>
List: tech-userlevel
Date: 12/21/2001 12:11:23
> : Besides, if static copies are noticeably faster, then why would I (as a
> : rhetorical virtual hoster of masses of websites, for example) want to
> : take a performance hit just to save a few megabytes of RAM?
>
> Depends on how you define "noticeably faster" here. If you have a lot of
> memory (which you imply here), the needed pages of libc.so and ld.so
should
> be in-core, so the only startup overhead is linking perhaps a dozen
symbols.
> I'd be interested to see benchmarks on this....
Me too. I think "a few" might be a little misleading. In a simple hello
world dynamically linked app, the amount of function calling going on is
truly horrendous. Assuming nothing has changed since I wrote my dinky
"Adventures in Assembly" stories. gdb'ing through a dynamically linked
executable was extremely painful, as I mentioned there. Surely complexity
of that order is logically enough to impact performance in *some* way. :)
> The argument doesn't hold up well, given the fact that only /bin and
/sbin
> are static. If you want "static binary speed increases", then you can
> simply rebuild the whole system yourself statically. You can do it with
one
> mk.conf switch: "MKPIC=no". 8-)
Mmm.. Magic recipes. Now *this* is the kind of stuff we should slap into
the FAQs and NetBSD howtos. Ah, there it is. mk.conf manpage. :)
> : And I can't count on my hands and feet the number of times that busy
> : (millions of hits/day) Linux systems under my care have died because
> : something went bad and puked all over either libc, or libc and the
dynamic
> : linker, making the entire thing useless until someone arrived on-scene
> : with a boot-disk.
>
> And how is this situation different from something puking on NetBSD's
> /sbin/init binary...?
Not a clue. It's never happened on a NetBSD machine under my supervision.
Ever. Which is neat. Not that I haven't I've had some pretty nasty
problems--one fs problem where the filesystem got to a state that panic'd
the kernel when a certain file was accessed... something about a duplicate
node..? I wish I had recorded the failure a little more diligently...
(ramble ramble)
> On a related note, if you're paranoid about trashed critical files, you
> should have a netbsd.INSTALL.gz located on at least one of your
partitions
> (hopefully all of them). That helps catastrophic recovery a lot -- take
it
> from experience.
:)