If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Linux Kernel Boot Statistics: 2.6.24 To 2.6.39

05-02-2011, 02:10 AM

Phoronix: Linux Kernel Boot Statistics: 2.6.24 To 2.6.39

Recently there were benchmarks on Phoronix looking at the Ubuntu 11.04 boot performance relative to past Ubuntu Linux releases. This was done with five mobile systems and going back as far as Ubuntu 8.04. The tests showed around Ubuntu 10.04 LTS was where the boot performance in Ubuntu's been the best but Ubuntu 10.10 and 11.04 have slowed down a bit in how fast it's reaching the desktop. In this article we are looking at the boot performance when simply changing out the kernels. Every kernel from Linux 2.6.24 to 2.6.39-rc4 was analyzed.

Comment

How much does it matter? Isn't there anything more interesting to measure?

My desktop Linux PC reboots no more than once a week. My servers reboot less than a few times in a year.
In both cases hardware initialization (aka BIOS/EFI) eats more than 50% of the time needed to reboot.
So, in my opinion at least, boot timing is irrelevant under any point of view, also because booting in 30 seconds or in 60 seconds will change very few lives.

What I'd like to see measured in this otherwise wonderful site is something related to every day use. I'll put some examples on the table.
For desktops my main issues are latency, that is heavy I/O tasks (SATA DVD burning, local copies of large files, USB storage I/O and the likes) making the PC unusable even with vi on a text file.
Then I'd like to know the footprints (both memory and CPU and I/O) for desktop environments. I personally don't mind whether I can use plasm stuff, 3D effects, but rather how much resources I need to spend to browse the internet while, say, compiling my C/C++ programs.
For servers there are many more things to check, like SMP effectiveness.

Comment

Uhh no, previous tests were of Ubuntu releases. This testing today only the kernel is being swapped out.

Hmm ... with modern kernels even the definition of "boot time" is rather unclear.
If you mean "the time needed to spawn the init process", then the very same kernel can show different behaviors (and timing) depending upon kernel compilation decisions.
Something making more sense, again in my opinion, would then be "the time needed to initialize all hardware and to get ready to spawn the init process".
But even so I see another unclear situation, as a number of hardware devices are "hot plug" and are handled by userland programs which in turn run after the init proces has started running.

Comment

But even so I see another unclear situation, as a number of hardware devices are "hot plug" and are handled by userland programs which in turn run after the init proces has started running.

I don't think you've quite gotten the point here. All of those userland programs you refer to are directly dependent on kernel functionality. Leaving the userland program stable and just exchanging the kernel allows to clearly determine who's to blame (in a constructive manner, of course). Naturally someone now needs to follow up on this and make a closer analysis. And of course, at least theoretically, newer kernels might expose more speedy IO APIs which the 8.04 userland doesn't take advantage of. But I kind of doubt that.

I find this a very systematic test which pinpoints the overall performance development in the kernel. And it doesn't look good. Even though it's not *that* bad for x64, this may mean thoroughly bad news for a lot of x86 embedded hardware. The performance degradation might very well be portable, and thus have a much wider impact (talk about Android). Of course, maybe it's just one single sloppiness in the x86 DMA and nobody else would notice. Anyway, a closer look is a necessity.

Comment

I don't think you've quite gotten the point here. All of those userland programs you refer to are directly dependent on kernel functionality.

Then someone here has to state clearly that the different kernels have been compiled with exactly the same options. Which is almost impossible as the tested kernels range from january 2008 to April 2011.

Anyway, as I stated in an earlier post, the boot timing is rather uninteresting (at least to me, though), as normally (re)boots happen very rarely.

Comment

my kernel starts in 2 seconds, and then initrd takes over, and then init takes over. the title is very misleading and the tests are useless.

Yeah, this test has a very misleading title, as what he tests are not how fast the kernel boots, but how the Ubuntu kernel upgrades and configurations influences the boot time (as my guess is the configuration has more influence then the kernel itself ever could have).

And still there are some things he did not really do well, like not disabling readahead and other stuff that also radically can influence the boot time...

Comment

What I'd like to see measured in this otherwise wonderful site is something related to MY every day use.

FIFY.

I boot once a day, because I turn my computer off at night. Yeah I know there's the half baked and very often broken suspend/hibernate support. I've spent enough time trying to get it to work right only to see it broken time and time again as something is upgraded in kernel or user land. I eventually gave up and stopped fucking with it. Even on a brand new system, I never bothered with it. Too much of a time sink for most hardware not named Thinkpad.

Also, hibernating isn't that much faster than normal booting after optimizing boot up a bit. Sure you might not be able to preserve your application state perfectly, but if you look around you can generally find good browsers, editors, and other applications which will save tabs/sessions/drafts/etc quite well.