Differences between revisions 6 and 7
Revision 6 as of 2010-05-16 16:27:30
Size: 3141
Editor: ?PetterReinholdtsen
Comment: Parallel booting is now enabled.
Revision 7 as of 2010-06-19 13:07:17
Size: 3131
Editor: ?PetterReinholdtsen
Comment: Concurrent booting is the default now.
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
 * Test concurrent booting (echo CONCURRENCY=makefile >> /etc/default/rcS)  * Test concurrent booting (now the default in Squeeze and Sid).

Boot Performance

Goal description

Making sure that the boot is fast and correct. As the kernel is more and more event based, it's hard for init scripts to run after an event occured. So we need a way to make sure booting happens correctly. Next to making sure booting will be correct, we want to have a fast boot. Fast boot is nice for desktop users as they boot often, though it's also nice for server users as it can make a difference in SLAs as one can reduce the downtime.

Current status

  • dash as default system shell which is the main speedup when booting. Note that there are still some issues to be resolved regarding diversions.
  • insserv used by default for dependency based booting to make it easier to have a correct boot sequence and to make it possible to run the initscripts heavily in parallel (enabled 2009-07-27)

  • sysv-rc run boot scripts in parallel by default when dependency based boot sequencing is enabled (enabled in sid 2010-05-14).

Benchmark

The general boot performence is important, but for everyone to have a common goal to work on, here is the proposal from Petter Reinholdtsen on what we should focus on: Default Desktop installation, from kernel start to the desktop is operational with automatick display manager login.

To get such test setup, install Squeeze using the normal Debian installer and select the desktop option. After installation, install the nodm display manager (or configure gdm/kdm to autologin), and use the bootchart package to measure the time it take from the kernel starts until the machine settles down with a working desktop. It is useful to test with both Gnome (the default), KDE and XFCE. To change the default desktop type during installation, specify desktop=kde or desktop=xfce as a kernel argument when booting debian-installer.

How to help

  • Make sure that the LSB header in initscripts are correct
  • Fix issues regarding diversions in dash, bash
  • Correct remaining init.d dependencies.

  • Fix issues regarding surprise of dependency based boot sequence and need to update the LSB headers when a different sequence is needed
  • Help upstream upstart development to have proper inittab and SysV initscript support
  • Help to trim initrd
  • Help investigating readahead implementations (like readahead and readahead-fedora)
  • Test concurrent booting (now the default in Squeeze and Sid).
  • Create bootcharts and investigate what can go faster
  • Update the bootchart package to a version collecting information early boot (initrd) and after the init.d scripts are done.

Next Milestone

  • Solve issues with system shell, dependency based booting.
  • Activate parallel booting by default in sysv-rc, to be enabled when dependency based boot sequencing is enabled.
  • Upload to new bootchart package.