[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