Mailinglist Archive: opensuse-factory (689 mails)

< Previous Next >
Re: [opensuse-factory] Very slow loading of kernel/initrd with os12.3
  • From: Joschi Brauchle <joschi.brauchle@xxxxxx>
  • Date: Mon, 04 Mar 2013 14:47:38 +0100
  • Message-id: <5134A5FA.1020900@tum.de>


On 03/04/2013 02:34 PM, Jan Engelhardt wrote:
On Monday 2013-03-04 13:44, Joschi Brauchle wrote:
Interesting that it happens not for CD.

Well, I may have to be careful with that statement or even revise it later.

I tested a Beta1 DVD some time ago and thought it did not happen. But I only tested on the i7 machine and most likely I took the long loading time for regular DVD delay.

Possibly the same for PXE boot... one simply expects and accepts a certain delay there in contrast to booting from HDD.

For me, loading images (kernel/initrd) from CD/USB and PXE via
ISOLINUX/SYSLINUX/PXELINUX has always been a bottleneck, because they
read in what feels like 512-ish byte blocks, and synchronously so, and
probably doing that through INT 13h. (The story goes similar on SPARC
with the SILO loader.)

In VirtualBox, practically the same happens, but it is not as noticable
because of the host system's cache which kicks in from the second time.

Hm, ok,... but is the difference really *that* big?

With virtualbox I cannot even see the lines from grub, it completes in <1 second. But if I boot the physical machine, it is more like ~10-20 seconds (on an i7 CPU with SATA HDD).

Looking at the size of the stock initrd (~54MB), I would expect my HDD to be able to load this in 1 or 2 seconds at most, plus some CPU time to extract...

Probably GRUB does small reads too, but you just do not notice it because
latency with hard disks is so much lower.

So what has changed from 11.4/12.2 to 12.3 in that area?

On 11.4 and 12.2, loading the initrd takes just a handful of seconds (if at all), barely noticeable compared to the remaining boot process.

But now with 12.3, loading the initrd is about 1/3 of the total boot time on a fast machine...


It there anything I can do to get more verbose/debug output? Maybe from GRUB or from the kernel while it loads the initrd?

< Previous Next >
Follow Ups