Skip to content

debuginfod: speed up extraction from kernel debuginfo packages by 200x

Omar Sandoval linux-debuggers 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest7 patches 2 repliesIn review
  2. v47 patches 2 repliesSuperseded
  3. v37 patches 2 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v25 patches4 repliesSuperseded
v13 patches2 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7debuginfod: fix skipping <built-in> source filedebuginfod/debuginfod.cxx tests/run-debuginfod-archive-groom.sh tests/run-debuginfod-extraction.sh+4 -30 replies
2/7tests/run-debuginfod-fd-prefetch-caches.sh: disable fdcache limit checktests/run-debuginfod-fd-prefetch-caches.sh+4 -00 replies
3/7debuginfod: factor out common code for responding from an archivedebuginfod/debuginfod.cxx+96 -1170 replies
4/7debugifod: add new table and views for seekable archivesdebuginfod/debuginfod.cxx+24 -100 replies
5/7debuginfod: optimize extraction from seekable xz archivesconfigure.ac debuginfod/Makefile.am debuginfod/debuginfod.cxx+457 -60 replies
6/7debuginfod: populate _r_seekable on scandebuginfod/debuginfod.cxx tests/Makefile.am tests/debuginfod-debs/seekable-xz/compressme-seekable-xz-dbgsym_1.0-1_amd64.deb +9 more+316 -50 replies
7/7debuginfod: populate _r_seekable on requestdebuginfod/debuginfod.cxx tests/run-debuginfod-seekable.sh+118 -60 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [PATCH v5 0/7] debuginfod: speed up extraction from kernel debuginfo packages by 200x

From: Omar Sandoval <[email protected]>

This is v4 of my patch series optimizing debuginfod for kernel debuginfo. v1 is here [1], v2 is here [2], v3 is here [3], v4 is here [4]. The only change from v4 in this version is adding --fdcache-mbs and --fdcache-mintmp to the new test to fix some sporadic test failures. Hopefully this version finally gets a clean test run.

Thanks,
Omar

1: https://sourceware.org/pipermail/elfutils-devel/2024q3/007191.html
2: https://sourceware.org/pipermail/elfutils-devel/2024q3/007208.html
3: https://sourceware.org/pipermail/elfutils-devel/2024q3/007243.html
4: https://sourceware.org/pipermail/elfutils-devel/2024q3/007255.html

Omar Sandoval (7):
debuginfod: fix skipping <built-in> source file tests/run-debuginfod-fd-prefetch-caches.sh: disable fdcache limit
check
debuginfod: factor out common code for responding from an archive
debugifod: add new table and views for seekable archives
debuginfod: optimize extraction from seekable xz archives
debuginfod: populate _r_seekable on scan
debuginfod: populate _r_seekable on request

 configure.ac                                  |   5 +
 debuginfod/Makefile.am                        |   2 +-
 debuginfod/debuginfod.cxx                     | 923 +++++++++++++++---
 tests/Makefile.am                             |  13 +-
 ...pressme-seekable-xz-dbgsym_1.0-1_amd64.deb | Bin 0 -> 6288 bytes
 ...compressme-seekable-xz_1.0-1.debian.tar.xz | Bin 0 -> 1440 bytes
 .../compressme-seekable-xz_1.0-1.dsc          |  19 +
 .../compressme-seekable-xz_1.0-1_amd64.deb    | Bin 0 -> 6208 bytes
 .../compressme-seekable-xz_1.0.orig.tar.xz    | Bin 0 -> 7160 bytes
 .../compressme-seekable-xz-1.0-1.src.rpm      | Bin 0 -> 15880 bytes
 .../compressme-seekable-xz-1.0-1.x86_64.rpm   | Bin 0 -> 31873 bytes
 ...sme-seekable-xz-debuginfo-1.0-1.x86_64.rpm | Bin 0 -> 21917 bytes
 ...e-seekable-xz-debugsource-1.0-1.x86_64.rpm | Bin 0 -> 7961 bytes
 tests/run-debuginfod-archive-groom.sh         |   2 +-
 tests/run-debuginfod-extraction.sh            |   2 +-
 tests/run-debuginfod-fd-prefetch-caches.sh    |   4 +
 tests/run-debuginfod-seekable.sh              | 192 ++++
 17 files changed, 1017 insertions(+), 145 deletions(-)
 create mode 100644 tests/debuginfod-debs/seekable-xz/compressme-seekable-xz-dbgsym_1.0-1_amd64.deb
 create mode 100644 tests/debuginfod-debs/seekable-xz/compressme-seekable-xz_1.0-1.debian.tar.xz
 create mode 100644 tests/debuginfod-debs/seekable-xz/compressme-seekable-xz_1.0-1.dsc
 create mode 100644 tests/debuginfod-debs/seekable-xz/compressme-seekable-xz_1.0-1_amd64.deb
 create mode 100644 tests/debuginfod-debs/seekable-xz/compressme-seekable-xz_1.0.orig.tar.xz
 create mode 100644 tests/debuginfod-rpms/seekable-xz/compressme-seekable-xz-1.0-1.src.rpm
 create mode 100644 tests/debuginfod-rpms/seekable-xz/compressme-seekable-xz-1.0-1.x86_64.rpm
 create mode 100644 tests/debuginfod-rpms/seekable-xz/compressme-seekable-xz-debuginfo-1.0-1.x86_64.rpm
 create mode 100644 tests/debuginfod-rpms/seekable-xz/compressme-seekable-xz-debugsource-1.0-1.x86_64.rpm
 create mode 100755 tests/run-debuginfod-seekable.sh
Signature · 1 line
2.45.2