Comment 26 for bug 2065180

Revision history for this message
Viraniac (viraniac) wrote : Re: [Bug 2065180] Re: performance regression in dracut-install 060

Sorry forgot to mention about the contents before. I did checked the
contents. They were exactly the same.

On Mon, Jun 17, 2024 at 6:01 PM Benjamin Drung <email address hidden>
wrote:

> Thanks for the test on the VIM4. Can you also verify that the content of
> the initrd hasn't change (see "Test Plan" in the bug description)?
>
> Further speedup will be achieved by the initramfs-tools change (that is
> waiting in the SRU upload queue).
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/2065180
>
> Title:
> performance regression in dracut-install 060
>
> Status in Dracut:
> New
> Status in cryptsetup package in Ubuntu:
> Fix Released
> Status in dracut package in Ubuntu:
> Fix Released
> Status in initramfs-tools package in Ubuntu:
> Fix Released
> Status in lvm2 package in Ubuntu:
> Fix Released
> Status in miniramfs package in Ubuntu:
> Fix Released
> Status in thin-provisioning-tools package in Ubuntu:
> Fix Released
> Status in cryptsetup source package in Noble:
> New
> Status in dracut source package in Noble:
> Fix Committed
> Status in initramfs-tools source package in Noble:
> New
> Status in lvm2 source package in Noble:
> New
> Status in miniramfs source package in Noble:
> New
> Status in thin-provisioning-tools source package in Noble:
> New
>
> Bug description:
> [ Impact ]
>
> When compared to Ubuntu 23.10, creating intramfs files with update-
> initramfs takes 2 to 5 times more time on ARM devices.
>
> IIUC, dracut-install usage was added to initramfs-tools to speed up
> the process. But now its way slower. Even running update-initramfs on
> jammy, which doesn't use dracut-install, is way faster then the time
> taken on Noble.
>
> first bad commit -
>
> https://github.com/dracutdevs/dracut/commit/3de4c7313260fb600507c9b87f780390b874c870
>
> Updating the initrd on a Raspberry Pi Zero 2W on Ubuntu 24.04 (noble)
> with initramfs-tools 0.142ubuntu25.1 takes over six minutes:
>
> ```
> bdrung@zero2w:~$ sudo hyperfine --warmup 1 -r 10 "update-initramfs -u"
> Benchmark 1: update-initramfs -u
> Time (mean ± σ): 402.751 s ± 5.592 s [User: 166.316 s, System:
> 228.909 s]
> Range (min … max): 394.380 s … 411.445 s 10 runs
> ```
>
> [ Test Plan ]
>
> 1. Measure `update-initramfs -u` before the update.
> 2. Log the content of the initrd before the update: `lsinitramfs
> /boot/initrd.img`
> 3. update dracut-install / initramfs-tools-core
> 4. Measure `update-initramfs -u`. It should be faster (the performance
> improvements on amd64 should be very small and might be within the
> measurement uncertainty).
> 5. Check with lsinitramfs that the content of the newly generated initrd
> hasn't changed.
>
> [ Where problems could occur ]
>
> The code that is responsible for including the kernel modules into the
> initrd is touched. Negative consequences could be that some needed
> kernel modules will not be included any more (should be covered by the
> test case) or that building new initrds will fail.
>
> The initramfs-tools fix changes how manual_add_modules behaves.
> `manual_add_modules` does not copy kernel modules, but queues them for
> being copied when the newly added function `apply_add_modules` is
> called.
>
> I checked all instances of calls to `manual_add_modules` for possible
> regressions (see comment #15). Only miniramfs needs to be adjusted to
> also call `apply_add_modules`. But this change could break consumers
> of the `manual_add_modules` function that are outside of the Ubuntu
> archive. I googled for `apply_add_modules` but found no public outside
> users.
>
> [ Other Info ]
>
> $ lsb_release -rd
> No LSB modules are available.
> Description: Ubuntu 24.04 LTS
> Release: 24.04
>
> $ apt-cache policy dracut-install
> dracut-install:
> Installed: 060+5-1ubuntu3
> Candidate: 060+5-1ubuntu3
> Version table:
> *** 060+5-1ubuntu3 500
> 500 http://ports.ubuntu.com/ubuntu-ports noble/main arm64
> Packages
> 100 /var/lib/dpkg/status
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/dracut/+bug/2065180/+subscriptions
>
>