Making a dynamically-linked root
Matthew Dillon
dillon at apollo.backplane.com
Tue Jun 3 09:57:47 PDT 2003
:I'm sorry, I think I have to point something out here:
:
:We're talking about shaving a few seconds off a process that on a
:well-maintained server happens once a week at most - i.e. a cvsupdate,
:buildworld, install-kernel, reboot on a Monday morning.
:
:That's a few seconds a week. This is a lot of effort for shaving a few
:seconds off a week. It's all well and good talking about getting rid of
:"wasted cpu cycles and disk cycles" for something that happens perhaps a few
:times a second, but once a week? And this is to give us a performance
:advantage over Linux? Not being funny, but is this another troll thread?
:
:If you really want to speed up boot times because you're moving a laptop
:around a lot, great, there is a possibility that an argument can be made
:that someone could be looking at the serialisation of tasks that assist in
:bootstrapping other processes - e.g. a dns resolver process that gets all
:the "usual" hostnames into cache, key initiation stuff, etc... or of course,
:we could look at getting rid of the incredibly serial rc scripts for certain
:tasks so lot's of things bootstrap at once - providing dependancies are
:tracked, and then we get into a discussion akin to package management.
:
:Interesting discussion, but are there not other areas we could look at for
:performance gains? Or am I just not "getting it"?
:
:--
:Paul Robinson
Well, not all FreeBSD installations are servers sitting in machine rooms.
I have two 'kitchen terminals', both netbooted boxes (and the one in my
kitchen actually boots over the wireless network). It sure would be nice
if those boxes could boot up faster without too much hackery. Laptop
operation is also a reasonable place where faster bootup times would be
nice.
In the case of the wireless netbooted box I have carefully examined the
network traffic during bootup. The wireless network is not even 10% loaded
for 90% of the time during the boot sequence... the delays are due to
serialization of the boot process waiting for network I/O turnaround.
My read is that the serialization delays are primarily due to page fault
stalls and NFS.
In the case of the second netbooted box, which is on a 100BaseT hardline,
the same problems exist but bootup time is faster due to faster network
I/O turnaround (lower latencies).
In the case of a locally booted box, such as my Laptop or a normal server,
bootup times are fast enough that I don't care... the kernel itself takes
long to get through to the rc scripts then the rc scripts take to run.
In anycase, parallelization would likely benefit these boxes. RCNG is
fairly well suited to adding the capability since it already has the
dependancy graph.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the freebsd-arch
mailing list