Background on the Issue
In the development of Linux 6.15-rc1, Linus Torvalds expressed frustration over a specific piece of testing code called “hdrtest.” This testing code was introduced as part of updates to the Intel Xe kernel driver, specifically for verifying the integrity and self-containment of Direct Rendering Manager (DRM) header files. The purpose of hdrtest is to ensure that these header files are well-maintained and pass kernel documentation tests.
However, this hdrtest code inadvertently caused issues during regular kernel builds. It was included as part of the standard build process rather than being isolated for use in specific developer checks. This led to several problems that Torvalds highlighted in his comments.
Key Problems Identified by Torvalds
Build Speed Impact: The inclusion of hdrtest in regular builds significantly slowed down the build process. Torvalds noted that this testing should not be part of an allmodconfig build (a configuration used to compile all possible modules) but instead should be run separately by developers when needed.
Cluttered Source Tree: The hdrtest code left behind temporary files—referred to by Torvalds as “random turd files”—in the include directories after builds were completed. These leftover files cluttered the source tree and created unnecessary noise for developers working on unrelated parts of the kernel.
Filename Completion Issues: The temporary files generated by hdrtest interfered with filename completion in tools like Git, making it harder for developers to navigate and manage their work efficiently.
Unnecessary Inclusion in Builds: Torvalds emphasized that such testing code should not be forced upon all developers as part of normal builds. Instead, it should be something that individual developers can choose to run when performing their own checks.
Torvalds’ Response
Linus Torvalds took immediate action to address these issues:
Why This Matters
The incident highlights several important principles in software development:
Efficiency in Development Workflows: Ensuring that testing processes do not unnecessarily slow down or complicate routine tasks is critical for maintaining developer productivity.
Separation of Concerns: Testing code should be modular and isolated from main build processes unless absolutely necessary.
Attention to Developer Experience: Temporary files or other artifacts left behind by automated processes can create friction for developers, especially when they interfere with commonly used tools like Git.
By addressing these concerns promptly, Torvalds demonstrated his commitment to maintaining high standards for both performance and usability within the Linux kernel development ecosystem.
Conclusion
Linus Torvalds gently but firmly called out the inclusion of hdrtest testing code in Linux 6.15-rc1 builds due to its negative impact on build speed, source tree cleanliness, and developer workflows. He disabled hdrtest temporarily and advised its creators to rework it into a standalone test process rather than integrating it into normal builds. This incident underscores his dedication to efficient and clean development practices within the Linux community.