[Bug 2031185] Re: manual_add_modules is slow / consumes the most time

Benjamin Drung 2031185 at bugs.launchpad.net
Fri Aug 11 19:14:19 UTC 2023


Attached the tested change (verified that the content of the initramfs
stays the same).

I am not uploading this change, because dracut-core is in universe.

** Patch added: "0001-Use-dracut-install-in-manual_add_modules.patch"
   https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2031185/+attachment/5691754/+files/0001-Use-dracut-install-in-manual_add_modules.patch

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/2031185

Title:
  manual_add_modules is slow / consumes the most time

Status in initramfs-tools package in Ubuntu:
  New

Bug description:
  I sprinkled mkinitramfs with "date -Ins" to see where most time is
  spent. I ran the [1] test case in a chroot on my laptop. mkinitramfs
  took 18.3 seconds. The most time consuming parts:

  * 10.13 s (51.4%) auto_add_modules
  * 7.20 s (36.5%) run_scripts_optional /usr/share/initramfs-tools/hooks
  * 1.27 s (6.4%) final { cat; cpio; cpio|compress } > $outfile

  The remaining 1.11 seconds are spread over the remaining parts.

  Following hooks in /usr/share/initramfs-tools/hooks took the longest:

  * 4.56s (63.3%) framebuffer
  * 0.87s (12.1%) plymouth
  * 0.81s (11.3%) cryptroot
  * 0.23s (3.2%) lvm2
  * 0.18s (2.5%) udev
  * 0.17s (2.4%) mdadm

  The remaining 0.38 seconds are spread over the remaining dozen of
  hooks.

  The framebuffer hook just calls copy_modules_dir and manual_add_modules multiple times. auto_add_modules calls copy_modules_dir multiple times and manual_add_modules. copy_modules_dir calls find and then
  manual_add_modules.

  So most time will be spent in manual_add_modules. This function calls
  modprobe on the modules, copies the modules, and add_firmware on the
  firmwares from a "modinfo -F firmware" call.

  Replacing manual_add_modules by a call to /usr/lib/dracut/dracut-
  install speeds up the initramfs building significantly. In the chroot
  on my laptop the mkinitramfs execution reduces from 18.3 seconds to
  11.0 (40% reduction).

  [1] schroot-wrapper -p linux-image-generic,initramfs-
  tools,zstd,busybox-initramfs,cryptsetup-initramfs,isc-dhcp-
  client,kbd,lvm2,mdadm,ntfs-3g,plymouth,plymouth-theme-spinner --ppa
  bdrung/ppa -c mantic -u root

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2031185/+subscriptions




More information about the foundations-bugs mailing list