← Back to team overview

ubuntu-boot team mailing list archive

2.6.28-7 vs. 2.6.29-rc4 vs. 2.6.29-rc5

 

Since the fast boot patches have apparently been pulled into 2.6.29, and
now that we have mainline builds, it seemed worthwhile to compare our
current kernel with the newest upstream ones.

Note that this is not a completely fair test.  The upstream kernel lacks
various Ubuntu patches and additions, most notably the wireless driver
for the mini9.

Timings are for 2.6.28-7 plain, and compared to both 2.6.29-rc4 and
2.6.29-rc5 without (-1) and with (-2) the fastboot/async work:


		2.6.28-7	2.6.29-rc4	2.6.29-rc5
				no-FB	FB	no-FB	FB
Bootchart time	46s		46s	46s	47s	46s

in kernel	 2.79s		2.33s	 2.48s	 2.33s	 2.25s
 
in initramfs	 1.56s		1.54s	 1.49s	 1.52s	 1.55s
 of which udev	 1.00s		1.03s	 0.99s	 1.07s	 1.06s

in rcS/2	18.49s		16.65s	17.60s	16.93s	17.56s
 of which udev	 5.11s		 5.63s	 5.53s	 5.71s	 5.61s

uevent processing:
MEAN		 2.94s		 2.75s	 2.65s	 2.65s	 2.80s
MEDIAN		 3.24s		 3.28s	 2.63s	 2.74s	 3.08s
MODE		 4.49s		 0s ?	 2.45s	 3.40s	 4.05s
STDDEV		 1.35s		 1.43s	 1.34s	 1.37s	 1.41s


So very little variance in the boot speed itself, which is what we'd
expect; it at least means there's no surprising regressions waiting to
bite us.

The 2.6.29 kernel seems to initialise roughly half a second faster than
the 2.6.28 kernel with or without "fastboot".

But it's touch to see from the bootgraph why.  There's no difference in
the graph itself, it's just that the 2.6.28 graph starts half a second
later!

No matter, 2.6.28 and before consistently start in around 2.8s, and
2.6.29 consistently starts in around 2.3s - I don't care where that .5s
comes from, it's there :p


So what _do_ we see from the bootgraph?

By far the most time is spent in populate_rootfs(), which is the bit
that unpacks the initramfs.  Basically an entire second.

Another large block is isapnp_init, taking about a third of a second;
and unsurprisingly piix_init taking a fifth of a second.

A noticeable difference is that pci_init only appears in the 2.6.28
graph, not the 2.6.29 graphs.

The fastboot version moves the piix port probe out into an async
function, allowing some parallel work.  But since what else went on only
took 0.1s, it's not much of speed up.

(I'd be more interested to see isapnp_init and populate_rootfs moved to
async!)

Scott
-- 
Scott James Remnant
scott@xxxxxxxxxxxxx

Attachment: mini9_jaunty-20090216-2.6.28-2_bg.svg
Description: image/svg

Attachment: mini9_jaunty-20090216-2.6.28-2_cropped.png
Description: PNG image

Attachment: mini9_jaunty-20090216-2.6.29rc4-2_bg.svg
Description: image/svg

Attachment: mini9_jaunty-20090216-2.6.29rc4-2_cropped.png
Description: PNG image

Attachment: mini9_jaunty-20090216-2.6.29rc5-2_bg.svg
Description: image/svg

Attachment: mini9_jaunty-20090216-2.6.29rc5-2_cropped.png
Description: PNG image

Attachment: signature.asc
Description: This is a digitally signed message part