Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Aug 2011 20:13:59 +0200
From:      kilian <kklimek@uos.de>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Concurrent execution of rc-scripts with rcorder(8)
Message-ID:  <20110821181359.GA58700@crane.none>
In-Reply-To: <CAPd55qAp0LqK9ysY%2BBwf-hXRTtWqV2SCe8qOow_JXfRDDFDbCw@mail.gmail.com>
References:  <20110821121509.GA27730@crane.none> <CAPd55qAp0LqK9ysY%2BBwf-hXRTtWqV2SCe8qOow_JXfRDDFDbCw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Aug 21, 2011 at 04:18:10PM +0200, joris dedieu wrote:
> 2011/8/21 kilian <kklimek@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@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
> >
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
> 



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