[PATCH rcu 0/5] Extricate rcu_barrier() from CPU hotplug

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

 



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



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux