Regression Testing Boot-time Performance in the Linux Kernel
summary
A boot-time regression test suite is built that collects initcall durations and printk-defined regions, matches run metadata to off-tree reference files, and compares measured values to report regressions. Tools include grab_boot_data.sh, a boot-time-regression-test parser, a find-matching-ref-value scorer and a boot time wiki repository. Concrete results: upgrading an x86 desktop from 5.15→6.8 flagged 10 initcalls >10 ms; an ARM64 jitter-entropy module rose 30 ms→50 ms; printk early zeros (60–150 lines) hide ~100–400 ms. Limitations: printk blind spot, deferred probes, and needing nitcall_debug on the kernel cmdline.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:03No upstream boot-time test
- 6:23Proposed upstream test
- 7:48Boot-time test overview
- 17:28Benchmark reference values
- 23:54Findings and regressions
- 27:02Defining boot regions
- 30:37Next steps
- 33:25Q&A
related talks
39mDay-to-day Testing of Linux 'Next' Kernel Branch - My Story
34mLinux Kernel Testing: Providing Better Results to the Upstream Community
27mFaster Linux Kernel Testing with Linaro's Open-Source Tools and LKFT Automation
34mLinux Kernel Testing: Providing Better Results to the Upstream Community
41mKeeping up with LTS: Linux Kernel Functional Testing (LKFT) on Devices
28mExtreme OS Kernel Testing
30mKernel Testing with KUnit: Bridging the Gap
13mAndroid Kernel testing with platform integration
