Re: 40% slowdown with dynamic /bin/sh

From: Tim Kientzle <kientzle_at_acm.org>
Date: Tue, 02 Dec 2003 16:48:27 -0800
Bob Willcox wrote:
> 
> What impact, if any, will this have on those of us that use NIS and
> still want a statically linked root? I have been using NIS for years ...

First, let me clarify that I'm advocating moving NIS out of libc in
the 6.0 timeframe.  Also, I'm not suggesting anyone replace NIS
with LDAP.  FreeBSD currently has a strong bias for NIS over LDAP; I
just think we should support both equally.

How would this affect a static root?

Make it a lot smaller and faster, for starters.  NIS adds
as much as 400k each to many programs in /bin and /sbin.
Over a quarter of a static /bin/sh is from NIS support.

Does that rule out NIS with a static root?

Yes, with the current NSS/PAM implementation, although a variety
of suggestions have been floated around that would make NSS/PAM
compatible with static binaries.  My personal favorite is to
implement NSS/PAM daemons to satisfy such requests.  Such daemons
are surprisingly simple to implement, in my experience.  I'm
skeptical of efforts to use dlopen() with static binaries; static
binaries don't have symbol tables, so there's no way to resolve
references from the dlopen()-ed library back into the executable.

I'm curious, though.  The single most convincing argument so far in
favor of a static root has been performance.  Doesn't the NIS network
overhead swamp any performance gains from static linking?   I suspect
you have other reasons for wanting a static root.  (Or do you only
require certain executables to be static, such as /bin/sh?)

Tim Kientzle
Received on Tue Dec 02 2003 - 15:48:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:32 UTC