Concurrent execution of rc-scripts with rcorder(8)

kilian kklimek at uos.de
Sun Aug 21 18:14:39 UTC 2011


On Sun, Aug 21, 2011 at 04:18:10PM +0200, joris dedieu wrote:
> 2011/8/21 kilian <kklimek at uos.de>:
> > 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!
> 
> There is another implementation which had been posted here (maybe)
> some times ago. Maybe a good thing to compare.
> 
> https://github.com/buganini/rcexecr

Didn't know someone else already implemented this. I had a (quick) look
at the source code and tried it out, too. Seems to do its job quite
well.

I'm (obviously) biased in my opinion but what might be considered a
drawback of the rcexecr implementation is that it requires modifications
to some files in /etc/rc.d. The modifications to /etc/rc are also more
invasive. rcexecr is a whole new program, based on rcorder.

My implementation requires changes only to /etc/rc and adds features to
rcorder (preserving compatibility, I might add).

- kilian

> 
> Joris
> >
> > -kilian
> > _______________________________________________
> > freebsd-hackers at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> >
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> 


More information about the freebsd-hackers mailing list