← Back to team overview

kernel-packages team mailing list archive

[Bug 1259861] Re: 5-10 second delay in kernel boot

 

After studying the code in net/ipv4/ipconfig.c I'm fairly confident
that the problem is caused by wait_for_devices() failing to find any
network interfaces and timing out.  That function waits for 12 seconds
before giving up, and the time difference between the "IP-Config:
Entered" message and the end of the delay is just a hair over 12
seconds.

It makes sense that wait_for_devices() would fail:  There are no
network devices until the initramfs loads the network interface
modules, and the initramfs init script doesn't start running until
after the kernel is done processing the ip=* argument.

So if the kernel fails to handle the ip=* argument, how does the ip=*
parameter work at all?  The answer is the initramfs:  The initramfs
init script parses the ip command-line argument and the
scripts/functions script runs the ipconfig utility with the
appropriate arguments to configure the interface.

I see a few ways to fix this:
  * Modify the kernel source code to provide a way to change/disable
    the timeout.
  * Modify the kernel source code to allow the initramfs to load while
    the kernel is still waiting for a network device to appear.
  * Compile all network drivers into the kernel itself (don't build
    them as modules).
  * Modify the initramfs init script to introduce an alias for the
    ip=* parameter, e.g., initramfs_ip=*.  This would allow users to
    avoid the pointless kernel processing.

The last option is probably the easiest and least likely to introduce
any unintended side effects.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1259861

Title:
  5-10 second delay in kernel boot

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  In Trusty I see a big delay while the kernel boots that I did not see back in Precise.
  Some people have been experiencing this in Saucy too, so I don't know exactly when it started happening.
  Excerpt from dmesg:
  [    3.740100] Switched to clocksource tsc
  [   14.208118] PM: Hibernation image not present or could not be loaded.
  [   14.208885] Freeing unused kernel memory: 864K (c19ac000 - c1a84000)

  The exact messages above don't matter, they are different on different boots or on different machines.
  It even happens with e.g. 
  $ sudo kvm -m 768 -cdrom trusty-desktop-i386.iso

  My current kernel is
  Linux server 3.12.0-7-generic #15-Ubuntu SMP Sun Dec 8 23:42:09 UTC 2013 i686 i686 i686 GNU/Linux
  ...but the exact version, maybe from 3.8 to 3.12+, shouldn't matter, just run `dmesg` yourself and check if there's a big delay there.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1259861/+subscriptions


References