On Wed, Jan 17, 2024 at 11:35:03AM -0500, Waiman Long wrote: > This patch series is based on the RFC patch from Frederic [1]. Instead > of offering RCU_NOCB as a separate option, it is now lumped into a > root-only cpuset.cpus.isolation_full flag that will enable all the > additional CPU isolation capabilities available for isolated partitions > if set. RCU_NOCB is just the first one to this party. Additional dynamic > CPU isolation capabilities will be added in the future. > > The first 2 patches are adopted from Federic with minor twists to fix > merge conflicts and compilation issue. The rests are for implementing > the new cpuset.cpus.isolation_full interface which is essentially a flag > to globally enable or disable full CPU isolation on isolated partitions. > On read, it also shows the CPU isolation capabilities that are currently > enabled. RCU_NOCB requires that the rcu_nocbs option be present in > the kernel boot command line. Without that, the rcu_nocb functionality > cannot be enabled even if the isolation_full flag is set. So we allow > users to check the isolation_full file to verify that if the desired > CPU isolation capability is enabled or not. > > Only sanity checking has been done so far. More testing, especially on > the RCU side, will be needed. There has been some discussion of simplifying the (de-)offloading code to handle only offline CPUs. Along with some discussion of eliminating the (de-)offloading capability altogehter. We clearly should converge on the capability to be provided before exposing this to userspace. ;-) Thanx, Paul > [1] https://lore.kernel.org/lkml/20220525221055.1152307-1-frederic@xxxxxxxxxx/ > > Frederic Weisbecker (2): > rcu/nocb: Pass a cpumask instead of a single CPU to offload/deoffload > rcu/nocb: Prepare to change nocb cpumask from CPU-hotplug protected > cpuset caller > > Waiman Long (6): > rcu/no_cb: Add rcu_nocb_enabled() to expose the rcu_nocb state > cgroup/cpuset: Better tracking of addition/deletion of isolated CPUs > cgroup/cpuset: Add cpuset.cpus.isolation_full > cgroup/cpuset: Enable dynamic rcu_nocb mode on isolated CPUs > cgroup/cpuset: Document the new cpuset.cpus.isolation_full control > file > cgroup/cpuset: Update test_cpuset_prs.sh to handle > cpuset.cpus.isolation_full > > Documentation/admin-guide/cgroup-v2.rst | 24 ++ > include/linux/rcupdate.h | 15 +- > kernel/cgroup/cpuset.c | 237 ++++++++++++++---- > kernel/rcu/rcutorture.c | 6 +- > kernel/rcu/tree_nocb.h | 118 ++++++--- > .../selftests/cgroup/test_cpuset_prs.sh | 23 +- > 6 files changed, 337 insertions(+), 86 deletions(-) > > -- > 2.39.3 >