Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Aug 2011 14:15:10 +0200
From:      kilian <kklimek@uos.de>
To:        freebsd-hackers@freebsd.org
Subject:   Concurrent execution of rc-scripts with rcorder(8)
Message-ID:  <20110821121509.GA27730@crane.none>

next in thread | raw e-mail | index | archive | help
Hello,

the idea to start services concurrently during boot isn't new and the
question why FreeBSD doesn't do it has popped up on the forum and
mailing list occasionally. So, why not give it a shot?

rcorder(8) is normally used during boot to bring the rc-scripts into a
particular order, so when they are executed linearly by /etc/rc, all
constraints will be satisfied. I modified rcorder(8) to enable it to
run rc-scripts concurrently, while keeping track of the constraints as
rc-scripts start and finish. You can find the code at
https://github.com/kil/rcorder. As it works now, it will fall back to the
current mode of execution if anything goes wrong. So, if worst comes to
worst, booting takes a bit longer.

If you feel brave, give it a try (Actually, not too much bravery is needed:
on all boots of my machine it worked perfectly every time.)

I haven't done any measurements yet on how large the speedup is, but booting
feels a bit faster with it. Also, there probably is room for improvement.
Any ideas and feedback are very welcome!

-kilian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110821121509.GA27730>