[ANNOUNCE] cpunoise (CPU isolation testing tool) v0.2

From: Marco Crivellari

Date: Sat Aug 15 2026 - 04:38:00 EST



Hi everyone,

Frederic Weisbecker and I would like to present cpunoise, a user-space tool we are actively developing to help test, verify, and debug CPU isolation and NOHZ_FULL workloads and configuration that is complementary to the osnoise tool

While the origins of this tool date back about 13 years, we have been actively reviving and expanding its development since early 2024 to make it a more comprehensive testing suite for OS noise and tickless execution.

[ Main Goals ]

The tool is designed to address two primary needs:

* Configuration Verification: Automatically checking the NOHZ_FULL and CPU isolation setup on the host machine.

* Trace Parsing: Capturing and parsing trace files to identify noise on isolated CPUs.

[ How It Works ]

The suite ships with a dummy workload called user_loop. The typical workflow is automated via the main script:

Execution:
Running ./run pins an instance of user_loop to each one of the configured NOHZ CPUs.

Tracing:
The tool enables trace events and waits for 10 seconds while the loop runs.

Collection & Parsing:
Trace events are collected into a file. We then use noise_parse to parse the trace, filtering the output strictly for the nohz_full CPUs to expose any unexpected interruptions (timers, workqueues, interrupts, etc.).

cpunoise can be executed only to parse trace data, with:

python3 noise_parse.py trace

Consult:

python3 noise_parse.py -h

To see all the supported flags.

[ System Configuration Checks ]

Before dumping the parsed trace output, the tool performs a comprehensive sanity check of the environment to ensure the user's isolation parameters are actually applied. This outputs details including:

* The isolcpus boot flag and affected CPUs.

* The configured nohz_full CPUs.

* cgroup configurations (if in use), including CPU sets and quota information.

* Additional relevant scheduling and isolation topology data.

[ Feedback and Testing ]

We are sharing this to get feedback from anyone dealing with CPU isolation, real-time workloads, or tickless systems. We would love to know if there are specific trace events, OS noise sources, or configuration edge cases you would like to see supported or parsed by noise_parse.

You can find the latest code here:

https://git.kernel.org/pub/scm/linux/kernel/git/frederic/cpunoise.git/

Any testing, reviews, or feedback would be greatly appreciated!

Thanks,

Marco