Re: [RFC PATCH 0/8] cgroup/cpuset: Support RCU_NOCB on isolated partitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux