[PATCH 0/6] rteval: Improve CPU management infrastructure and add housekeeping option
John Kacur <[email protected]> Fri, 17 Apr 2026 15:51:07 -0400
| Newsgroups | org.kernel.vger.linux-rt-users |
|---|---|
| Message-ID | <[email protected]> |
This patch series enhances rteval's CPU management capabilities by adding cgroup v2 cpuset support, refactoring CPU list handling, and introducing a new --housekeeping option for finer control over isolated CPU usage. The series includes: 1. A new cpuset module providing comprehensive cgroup v2 cpuset management with support for cpuset.cpus.partition and modern Linux interfaces 2. A minor test fix for the xmlout unit test XSL file path 3. A new CpuList class that provides an object-oriented interface for CPU list manipulation while maintaining backward compatibility with existing module-level functions 4. Migration of existing code to use the new CpuList class where it adds value (chaining, filtering) while keeping functional interfaces for simple operations 5. Comprehensive unit tests for the CpuList class covering all major functionality 6. A new --housekeeping option that allows users to reserve specific isolated CPUs for system housekeeping tasks, preventing rteval's measurement and load modules from using them The --housekeeping feature is particularly useful for systems with isolated CPUs where some cores need to handle essential system tasks while the rest are dedicated to real-time workloads. All changes maintain backward compatibility and existing tests pass. John Kacur John Kacur (6): rteval: Add cpuset module for cgroup v2 management rteval: Fix xmlout unit test XSL file path rteval: Add CpuList class to cpulist_utils module rteval: Migrate call sites to use CpuList class where beneficial rteval: Add unit tests for CpuList class rteval: Add --housekeeping option to reserve isolated CPUs rteval-cmd | 62 ++++- rteval/cpulist_utils.py | 161 +++++++++++- rteval/cpupower.py | 4 +- rteval/cpuset.py | 350 +++++++++++++++++++++++++ rteval/modules/loads/__init__.py | 7 +- rteval/modules/loads/hackbench.py | 9 +- rteval/modules/loads/kcompile.py | 14 +- rteval/modules/loads/stressng.py | 8 +- rteval/modules/measurement/__init__.py | 6 +- rteval/systopology.py | 52 ++-- rteval/xmlout.py | 4 +- tests/test_cpulist_class.py | 121 +++++++++ 12 files changed, 738 insertions(+), 60 deletions(-) create mode 100755 rteval/cpuset.py create mode 100644 tests/test_cpulist_class.py -- 2.53.0