On Thu, May 26, 2022 at 08:21:13AM -1000, Tejun Heo wrote: > On Thu, May 26, 2022 at 12:10:55AM +0200, Frederic Weisbecker wrote: > > Introduce a new "isolation.rcu_nocb" file within a cgroup2/cpuset > > directory which provides support for a set of CPUs to either enable ("1") > > or disable ("0") RCU callbacks offloading (aka. RCU NOCB). This can > > overwrite previous boot settings towards "rcu_nocbs=" kernel parameter. > > > > The file is only writeable on "root" type partitions to exclude any > > overlap. The deepest root type partition has the highest priority. > > This means that given the following setting: > > > > Top cpuset (CPUs: 0-7) > > cpuset.isolation.rcu_nocb = 0 > > | > > | > > Subdirectory A (CPUs: 5-7) > > cpuset.cpus.partition = root > > cpuset.isolation.rcu_nocb = 0 > > | > > | > > Subdirectory B (CPUs: 7) > > cpuset.cpus.partition = root > > cpuset.isolation.rcu_nocb = 1 > > > > the result is that only CPU 7 is in rcu_nocb mode. > > > > Note that "rcu_nocbs" kernel parameter must be passed on boot, even > > without a cpulist, so that nocb support is enabled. > > Does it even make sense to make this hierarchical? What's wrong with a > cpumask under sys/ or proc/? I'm usually told that cpusets is the current place where CPU attributes are supposed to go. I personally don't mind much /sys either even though cpusets looks like a more flexible way to partition CPUs with properties and tasks placement altogether...