[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