Re: [RFC PATCH 0/6] cpuset: Allow to modify isolcpus through cpuset

From: Waiman Long
Date: Fri Jul 16 2021 - 14:02:58 EST

On 7/14/21 9:54 AM, Frederic Weisbecker wrote:
The fact that "isolcpus=" behaviour can't be modified at runtime is an
eternal source of discussion and debate opposing a useful feature against
a terrible interface.

I've long since tried to figure out a proper way to control this at
runtime using cpusets, which isn't easy as a boot time single cpumask
is difficult to map to a hierarchy of cpusets that can even overlap.

I have a cpuset patch that allow disabling of load balancing in a cgroup-v2 setting:

The idea of cpuset partition is that there will be no overlap of cpus in different partitions. So there will be no confusion whether a cpu is load-balanced or not.

The idea here is to map the boot-set isolation behaviour to any cpuset
directory whose cpumask is a subset of "isolcpus=". I let you browse
for details on the last patch.

Note this is still WIP and half-baked, but I figured it's important to
validate the interface early.

Using different cpumasks for different isolated properties is the easy part. The hard part is to make different subsystems to change their behavior as the isolation masks change dynamically at run time. Currently, they check the housekeeping cpumask only at boot time or when certain events happen.