mbox series

[0/4] rcu/cpuset: Control RCU_NOCB offloading through cpusets

Message ID 20220525221055.1152307-1-frederic@kernel.org (mailing list archive)
Headers show
Series rcu/cpuset: Control RCU_NOCB offloading through cpusets | expand

Message

Frederic Weisbecker May 25, 2022, 10:10 p.m. UTC
The infrastructure in RCU and housekeeping code are finally ready
for this. Now it's time to introduce CPU isolation feature files
to cpusets. Here is the first one.

RCU NOCB is an RCU feature that offloads RCU callbacks lifecycle
handling and execution out of the enqueuer's CPU softirq to specific
kthreads instead (rcuo and rcuog). This pulls some kernel noise out of
CPUs that may run critical code. This is usually associated with
nohz_full.

The CPUs list to be set in RCU NOCB mode is defined on boot time
through the "rcu_nocbs=" kernel parameter and can't be changed afterward.
This patchset aims at allowing for changing this on runtime through cpuset.

I may have missed a few things in the last patch, such as partition type
changes to/from error mode, I'm not sure... Anyway it's an RFC and it
doesn't yet provide documentation in this early posting.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	cpuset/nocb

HEAD: ad895c0b6a5e3c41d46f184900d193e70bfc90d3

Thanks,
	Frederic
---

Frederic Weisbecker (4):
      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
      sched/isolation: Infrastructure to support rcu nocb cpumask changes
      cpuset: Support RCU-NOCB toggle on v2 root partitions


 include/linux/rcupdate.h        |   9 ++--
 include/linux/sched/isolation.h |  13 +++++
 kernel/cgroup/cpuset.c          |  95 +++++++++++++++++++++++++++++++++--
 kernel/rcu/rcutorture.c         |   6 ++-
 kernel/rcu/tree_nocb.h          | 106 +++++++++++++++++++++++++++-------------
 kernel/sched/isolation.c        |  38 ++++++++++++++
 6 files changed, 223 insertions(+), 44 deletions(-)