Making a dynamically-linked root

Terry Lambert tlambert2 at mindspring.com
Tue Jun 3 22:02:23 PDT 2003


Peter Jeremy wrote:
> On Mon, Jun 02, 2003 at 02:25:43PM -0700, Matthew Dillon wrote:
> >    start!).  Running certain daemon startups in the background might yield
> >    a significant overall improvement in startup times.
> 
> This isn't a definite win.  I know in the past it used to actually
> slow things down: To take your example, having both sshd and sendmail
> attempting to fault-in from disk in parallel will thrash both the disk
> and cache far more than sshd and sendmail sequentially faulting in.  A
> very large number of daemons trying to start in parallel will also
> stress the scheduler.

The main problem we ran into with doing this on the InterJet
was thatsome services started later would finish starting
before earlier services on which they were dependent.

It's not very good, for example, for sendmail to try to get
its name that it's going to use in conversations with its
peers from a DNS that's not up yet, or for it to try to log
an error about that failure to a syslogd that's not up yet,
or for cron to try to send a mail message about a job that's
just completed, but sendmail isn't up, etc..

People try to pretend that the dependencies that exist are
between programs, but they're actually between service
providers and service consumers, and largely independent of
the programs providing the services.  On top of that, the
dependencies tend to be both hard and soft, e.g. it's possible
to continue to offer a degraded service, rather than failing
outright, if some dependent services aren't there (e.g. you
can log by IP address if DNS isn't up to provide reverse
name mappings to look pretty in your logs, etc.).

-- Terry


More information about the freebsd-arch mailing list