[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad806d7c-91ec-4659-9348-1b0bb42dd417@paulmck-laptop>
Date: Fri, 19 Jan 2024 02:24:34 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Waiman Long <longman@...hat.com>
Cc: Tejun Heo <tj@...nel.org>, Zefan Li <lizefan.x@...edance.com>,
Johannes Weiner <hannes@...xchg.org>,
Frederic Weisbecker <frederic@...nel.org>,
Jonathan Corbet <corbet@....net>,
Neeraj Upadhyay <quic_neeraju@...cinc.com>,
Joel Fernandes <joel@...lfernandes.org>,
Josh Triplett <josh@...htriplett.org>,
Boqun Feng <boqun.feng@...il.com>,
Steven Rostedt <rostedt@...dmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Lai Jiangshan <jiangshanlai@...il.com>,
Zqiang <qiang.zhang1211@...il.com>,
Davidlohr Bueso <dave@...olabs.net>, Shuah Khan <shuah@...nel.org>,
cgroups@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, rcu@...r.kernel.org,
linux-kselftest@...r.kernel.org, Mrunal Patel <mpatel@...hat.com>,
Ryan Phillips <rphillips@...hat.com>,
Brent Rowsell <browsell@...hat.com>, Peter Hunt <pehunt@...hat.com>,
Cestmir Kalina <ckalina@...hat.com>,
Nicolas Saenz Julienne <nsaenz@...nel.org>,
Alex Gladkov <agladkov@...hat.com>,
Marcelo Tosatti <mtosatti@...hat.com>, Phil Auld <pauld@...hat.com>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
Daniel Bristot de Oliveira <bristot@...nel.org>,
Juri Lelli <juri.lelli@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Costa Shulyupin <cshulyup@...hat.com>
Subject: Re: [RFC PATCH 0/8] cgroup/cpuset: Support RCU_NOCB on isolated
partitions
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@kernel.org/
>
> 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
>
Powered by blists - more mailing lists