Concurrent execution of rc-scripts with rcorder(8)

Buganini buganini at gmail.com
Sun Dec 23 14:12:12 UTC 2012


I've added an optional flag -q to switch of parallel execution, you will
need to put rcexecr_parallel="YES" into /etc/rc.conf to enable parallel
execution.

Buganini

2012/12/23 Chris Rees <crees at freebsd.org>

> Reawakening ancient thread.
>
> On 23 August 2011 21:18, kilian <kklimek at uos.de> wrote:
> > On Sun, Aug 21, 2011 at 02:54:15PM +0100, Chris Rees wrote:
> >> On 21 Aug 2011 13:39, "kilian" <kklimek at uos.de> wrote:
> >> >
> >> > 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
> >> >
> >>
> >> I might suggest moving this to rc at . I'll try it later, looks
> interesting.
> >>
> >> Chris
> >
> > For anyone who is interested, updated the README[1] with some numbers,
> > detailing the influence on booting time.
>
> Hi Kilian, Buganini,
>
> I've been looking over both of your rc implementations, and they both
> seem to do the job well.  The main reservation I have for rcexecr [1]
> is that it is not optional.  Whether that is a problem is up for
> debate, but I think that it is important at least for the mid term to
> have a rc_parallel option; rc dependencies are funny things, and it
> would be absolutely unacceptable to have strange failures on
> production boxes.  Every rc script would have to be reviewed in time
> (including ports), to ensure that they fitted in properly.
>
> Chris
>
> [1] https://github.com/buganini/rcexecr/
>
> [2] https://github.com/kil/rcorder
>


More information about the freebsd-rc mailing list