I've played around with this some more using parallelization. That helps but also sporadically results in 'sh: 0: Cannot fork'. Sigh.
I realized that we have all the information in the ddebs so we don't really need to generate the list at build time. Instead we can dwarfdump vmlinux and the modules from the ddebs afterwards. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2104911 Title: sources list generation using dwarfdump takes up to 0.5hr in build process Status in linux package in Ubuntu: In Progress Status in linux source package in Focal: In Progress Status in linux source package in Jammy: In Progress Status in linux source package in Noble: In Progress Status in linux source package in Oracular: Won't Fix Status in linux source package in Plucky: In Progress Status in linux source package in Questing: In Progress Bug description: [ Impact ] In debian/rules.d/2-binary-arch.mk, stamp-build-% targets, we have: ``` # Collect the list of kernel source files used for this build. Need to do this early # before modules are stripped. Fail if the resulting file is empty. find $(build_dir) \( -name vmlinux -o -name \*.ko \) -exec dwarfdump -i {} \; | \ grep -E 'DW_AT_(call|decl)_file' | sed -n 's|.*\s/|/|p' | sort -u > \ $(build_dir)/sources.list test -s $(build_dir)/sources.list ``` The process is single threaded and may takes up to half an hour to complete: ``` $ time ... real 28m15.167s user 54m32.917s sys 4m32.531s ``` [ Fix ] Process modules in parallel. [ Test Plan ] Inspect the build logs and verify reasonable run times for the collection. Should be single digit minutes. [ Where Problems Could Occur ] Potential build failures due to CPU and/or memory starvation. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2104911/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

