Re: [PATCH 13/15] sched/isolation: Implement sysfs interface for dynamic housekeeping

Qiliang Yuan
2026-03-30T11:46:54Z

On Wed, Mar 25, 2026 at 03:04:32PM +0100, Peter Zijlstra wrote:
> Why? What was wrong with cpusets?

This is the central point of the architecture. The distinction I was
trying to address is:

1. Task Isolation (Current CPUSets):
The `cpuset` subsystem (especially `cpuset.cpus.partition = isolated`)
is excellent at managing task placement and load balancing. It
ensures no user tasks are pushed to isolated CPUs.

2. Kernel Overhead Isolation (Housekeeping):
Currently, `cpusets` do not manage kernel-internal overhead like RCU
callbacks, timers, or unbound workqueues. These are managed by the
global `housekeeping_cpumask`, which is settled at boot via
`isolcpus`/`nohz_full` and is static.

DHEI fills this second gap by making the housekeeping mask dynamic.
However, I agree that a parallel sysfs interface is redundant.

In V13, I will move the control interface to `cpuset`. The root cpuset
will serve as the primary interface, allowing changes in the cpuset
partition state to automatically trigger the migration of kernel
housekeeping overhead. This achieves "Full Dynamic Isolation" (both tasks
and kernel overhead) through a single, unified interface.

Best regards,
Qiliang