[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220204232027.GA4194214@paulmck-ThinkPad-P17-Gen-1>
Date: Fri, 4 Feb 2022 15:20:27 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: rcu@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, kernel-team@...com,
rostedt@...dmis.org
Subject: [PATCH rcu 0/5] Extricate rcu_barrier() from CPU hotplug
Hello!
This series reworks rcu_barrier() to remove its calls to cpus_read_lock()
and cpus_read_unlock(). This improves modularity, gets rid of an
acquisition of a wide-spectrum synchronization mechanism, and allows
rcu_barrier() to be invoked from CPU-hotplug notifiers that permit
blocking. Not that this last is necessarily a good idea.
1. Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion,
courtesy of David Woodhouse.
2. Refactor rcu_barrier() empty-list handling.
3. Rework rcu_barrier() and callback-migration logic.
4. Make rcu_barrier() no longer block CPU-hotplug operations.
5. Create and use an rcu_rdp_cpu_online().
Thanx, Paul
------------------------------------------------------------------------
b/include/trace/events/rcu.h | 9 +-
b/kernel/rcu/tree.c | 71 ++++++++++----------
b/kernel/rcu/tree.h | 4 -
b/kernel/rcu/tree_plugin.h | 6 -
kernel/rcu/tree.c | 151 +++++++++++++++++++++++++++----------------
kernel/rcu/tree.h | 5 +
6 files changed, 143 insertions(+), 103 deletions(-)
Powered by blists - more mailing lists