[Gentoo] Upstart: A new paradigm in services

My LWN subscription again made itself worthwhile today in an article (subscribers only until 7 August or so) about upstart, a new take on the init daemon. It’s event-based rather than dependency-based, as Gentoo’s init system is. What’s this mean? It figures out what to do and how to get there instead of being told, and it does a better job of dealing with today’s additions and removals of hardware while the system’s running. In comparison with initng or runit, other init replacements:

Again while interesting, Initng does not solve the problems that we wanted to solve. It can reorder a fixed set of jobs, but cannot dynamically determine the set of jobs needed for that particular boot.

A recent thread on the gentoo-user mailing list discussed initng and runit. Here’s my take on the whole thing: initng and runit are rethinks of sysvinit, but upstart is a rethink of the whole method of dealing with services and jobs.

Another associated boot-time speedup suggestion comes from Jens Axboe’s fcache patch, which aims to make the boot process completely linear on disk. One Gentoo user quoted a startup time for a “fully loaded” laptop of 13 seconds when combining initng and the fcache patch. It would be interesting to couple this with sys-apps/readahead-list. For Gentoo users, ck-sources already contains the fcache patch.