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

Reply via email to