Hi Benjamin,

I am also not seeing much difference on VIM4. The dracut-install version
060+5-1ubuntu3.2~ppa1 is providing only 200-300 ms improvement over
060+5-1ubuntu3.1 version.


On Tue, Jul 2, 2024 at 12:10 AM Benjamin Drung <[email protected]>
wrote:

> There is another performance improvement upstream:
> https://github.com/dracut-ng/dracut-ng/pull/408
>
> I tested this change a Raspberry Pi Zero 2W, but it had no measurable
> performance improvement:
>
> ```
> $ sudo hyperfine --warmup 1 -r 10 "update-initramfs -u"
> Benchmark 1: update-initramfs -u
>   Time (mean ± σ):     249.595 s ±  7.243 s    [User: 66.584 s, System:
> 170.342 s]
>   Range (min … max):   240.879 s … 260.506 s    10 runs
> ```
>
> Dave, can you test dracut 060+5-1ubuntu3.2~ppa1 from
> https://launchpad.net/~bdrung/+archive/ubuntu/ppa to see if that would
> improve the situation on the other Pis? Viraniac, could you test that
> version on your VIM4?
>
> --
> 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 Released
> Status in initramfs-tools source package in Noble:
>   Incomplete
> 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.
>
>   [ Benchmarks ]
>
>   Stock noble on a Raspberry Pi Zero 2W:
>
>   ```
>   bdrung@zero2w:~$ sudo hyperfine -r 5 "update-initramfs -u"
>   Benchmark 1: update-initramfs -u
>     Time (mean ± σ): 415.664 s ± 6.015 s [User: 166.728 s, System: 232.523
> s]
>     Range (min … max): 409.139 s … 422.632 s 5 runs
>   ```
>
>   noble with dracut-install 060+5-1ubuntu3.1 (with linux 6.8.0-1006.6 on
>   2024-07-01):
>
>   ```
>   bdrung@zero2w:~$ sudo hyperfine --warmup 1 -r 10 "update-initramfs -u"
>   Benchmark 1: update-initramfs -u
>     Time (mean ± σ):     248.054 s ±  5.569 s    [User: 67.410 s, System:
> 169.412 s]
>     Range (min … max):   238.909 s … 257.384 s    10 runs
>   ```
>
>   [ 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
>
>

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

Title:
  performance regression in dracut-install 060

To manage notifications about this bug go to:
https://bugs.launchpad.net/dracut/+bug/2065180/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to