linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frederic Weisbecker <frederic@kernel.org>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Frederic Weisbecker <frederic@kernel.org>,
	Tejun Heo <tj@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
	"Paul E . McKenney" <paulmck@kernel.org>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Phil Auld <pauld@redhat.com>, Zefan Li <lizefan.x@bytedance.com>,
	Waiman Long <longman@redhat.com>,
	Daniel Bristot de Oliveira <bristot@kernel.org>,
	Nicolas Saenz Julienne <nsaenz@kernel.org>,
	rcu@vger.kernel.org
Subject: [PATCH 0/4] rcu/cpuset: Control RCU_NOCB offloading through cpusets
Date: Thu, 26 May 2022 00:10:51 +0200	[thread overview]
Message-ID: <20220525221055.1152307-1-frederic@kernel.org> (raw)

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(-)

             reply	other threads:[~2022-05-25 22:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-25 22:10 Frederic Weisbecker [this message]
2022-05-25 22:10 ` [PATCH 1/4] rcu/nocb: Pass a cpumask instead of a single CPU to offload/deoffload Frederic Weisbecker
2022-05-25 22:19   ` Frederic Weisbecker
2022-05-25 22:42     ` Paul E. McKenney
2022-05-25 22:10 ` [PATCH 2/4] rcu/nocb: Prepare to change nocb cpumask from CPU-hotplug protected cpuset caller Frederic Weisbecker
2022-05-25 22:10 ` [PATCH 3/4] sched/isolation: Infrastructure to support rcu nocb cpumask changes Frederic Weisbecker
2022-08-19  7:12   ` Tobias Huschle
2022-05-25 22:10 ` [RFC PATCH 4/4] cpuset: Support RCU-NOCB toggle on v2 root partitions Frederic Weisbecker
2022-05-26 18:21   ` Tejun Heo
2022-05-26 22:51     ` Frederic Weisbecker
2022-05-26 23:02       ` Tejun Heo
2022-05-27  0:28         ` Waiman Long
2022-05-27  0:37           ` Tejun Heo
2022-05-27  8:30             ` Juri Lelli
2022-05-27  8:45               ` Tejun Heo
2022-05-27 12:58                 ` Phil Auld
2022-05-28 14:24               ` Peter Zijlstra
2022-05-30  0:40                 ` Frederic Weisbecker
2022-05-30  8:11                   ` Peter Zijlstra
2022-05-30 10:56                     ` Frederic Weisbecker
2022-05-30 13:16                       ` Peter Zijlstra
2022-05-30 14:13                         ` Juri Lelli
2022-05-30 21:35                         ` Frederic Weisbecker
2022-05-31  0:57                           ` Tejun Heo
2022-05-31 14:21                         ` Waiman Long
2022-05-30 14:29                   ` nicolas saenz julienne
2022-05-30 14:49                     ` Paul E. McKenney
2022-05-30 22:36                       ` Alison Chaiken

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220525221055.1152307-1-frederic@kernel.org \
    --to=frederic@kernel.org \
    --cc=bristot@kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan.x@bytedance.com \
    --cc=longman@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=nsaenz@kernel.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=pauld@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rcu@vger.kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).