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

Tejun Heo
2026-03-30T18:35:01Z

cc'ing Waiman.

On Mon, Mar 30, 2026 at 07:46:20PM +0800, Qiliang Yuan wrote:
> 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.

Please discuss with Frederic and Waiman first because they have been working
towards making cpuset to cover what cpuisol does. I don't think we want two
separate mechanisms for the same thing and don't see why this would need to
be its own thing when it has to be coupled with task isolation anyway.

Thanks.

--
tejun