ACK: [SRU][kernel-snaps-uc20][PATCH 0/1] Ucore kernel snap size: netronome smartnic fw (LP: #1951422)
Dimitri John Ledkov
dimitri.ledkov at canonical.com
Thu Jan 20 15:30:46 UTC 2022
Acked-by: Dimitri John Ledkov <dimitri.ledkov at canonical.com>
This is nice and very much needed/wanted for pi kernels.
Separately we may need to rework this as a cleanup part in the future,
but that is obvious work for the future when moving to newer ways of
doing snpacraft.yaml.
--
Regards,
Dimitri.
On Thu, Jan 13, 2022 at 3:50 PM Tim Gardner <tim.gardner at canonical.com> wrote:
>
> Acked-by: Tim Gardner <tim.gardner at canonical.com>
>
> LGTM
>
> On 1/13/22 8:14 AM, Juerg Haefliger wrote:
> > [ Impact ]
> >
> > Pi kernel snaps are big in part due to included firmware binaries. A lot of these binaries are not needed/required by the Pi kernel. The size of the snap has a negative impact on boot speed.
> >
> > [ Fix ]
> >
> > Parse modinfo data from all modules to determine the list of required firmware files and remove the ones that are not necessary during snap build time.
> >
> > [ Test Case ]
> >
> > On core20 before:
> > $ du -sh /lib/firmware/
> > 602M /lib/firmware/
> >
> > And after:
> > $ du -sh /lib/firmware/
> > 58M /lib/firmware/
> >
> > [ Where Problems Could Occur ]
> >
> > We might accidentally drop needed firmware which might render the relevant HW unusable. Firmware load failures should be visible in the kernel log though.
> >
> > [ Original Description ]
> >
> > The size of the pi-kernel snap for UC20 is 254Mbytes (compressed) and
> > 794Mbytes (uncompressed).
> >
> > 569Mbyte of this is caused by FW
> >
> > 140Mbyte -> Netronome SmartNIC
> >
> > Removing unreferenced FW and/or reducing number of drivers & their FW has exponential reduction of disk space usage.
> >
> > Additionally, downloaded image will be smaller; and storing 3x kernel snaps for upgrades will be smaller.
> >
> > Even more, snap seeding will be faster, so boot time will be faster.
> >
> > So it will be a nice gain in multiple aspects: download image, boot image, upgrade image, reboot image, start using image.
> >
> > stulluk ~/tmp $ ls -lah pi-kernel_353.snap
> > -rw------- 1 stulluk stulluk 254M Kas 8 13:57 pi-kernel_353.snap
> > stulluk ~/tmp $ cd pikern/
> > stulluk ~/tmp/pikern $ du -sh
> > 794M .
> > stulluk ~/tmp/pikern $ cd firmware/
> > stulluk ~/tmp/pikern/firmware $ du --block-size=MiB --max-depth=1 . | sort -rn
> > 569MiB .
> > 140MiB ./netronome
> > 40MiB ./amdgpu
> > 34MiB ./intel
> > 25MiB ./liquidio
> > 24MiB ./qcom
> > 20MiB ./qed
> > 19MiB ./brcm
> > 12MiB ./mellanox
> > 12MiB ./dpaa2
> > 12MiB ./ath10k
> > ...
> >
> > Juerg Haefliger (1):
> > Remove unnecessary firmware binaries
> >
> > Makefile | 4 ++++
> > trim-firmware | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 60 insertions(+)
> > create mode 100755 trim-firmware
> >
>
> --
> -----------
> Tim Gardner
> Canonical, Inc
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list