A key part of the operating system kernel's success is its performance and scalability. However, discussions have appeared on the Linux* Kernel Mailing List regarding large performance regression between kernel versions. These discussions underscore the need for a systematic and disciplined way to characterize, improve, and test Linux kernel performance.
A group of dedicated Linux kernel engineers are testing the Linux kernel. The goal is to work with the Linux community to enhance this kernel with consistent performance increases (avoiding degradations) across releases.
Learn what 0-Day—the infrastructure for testing the Linux kernel—and Linux kernel performance are doing to preserve performance integrity of the kernel. 0-Day is a service and test framework for automated regression testing that intercepts kernel development at its earliest stages, and is available to the worldwide Linux kernel community. This project provides a further shift-left: testing key developers’ trees before patches move forward in the development process.
To track performance, the group runs a large set of benchmarks that cover core components of the Linux kernel, such as:
Virtual memory management
Benchmarks are run on various platforms every week as the group tests the latest snapshot of the Linux Git development tree. Comprehensive performance data from our tests are hosted here for easy access.
The 0-Day group:
Provides a one-hour response time around the clock (hence the 0-Day name)
Performs patch-by-patch tests
Covers all branches of a developer tree
Performs kernel build and static semantics-level testing using static source-code analyzers from the industry
Performs boot tests, functional, and performance tests on various platforms in labs that are based on Intel® architecture
Bisects code automatically when tests fail or when performance regresses, enabling the group to identify which patch caused the failure