Skip to content

Preview of fifth set of RCU changes for 3.3

Paul E. McKenney lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6rcu: Add rcutorture tests for srcu_read_lock_raw()kernel/rcutorture.c+25 -10 replies
2/6rcu: Augment rcu_batch_end tracing for idle and callback stateinclude/trace/events/rcu.h kernel/rcutiny.c kernel/rcutiny_plugin.h +1 more+68 -130 replies
3/6docs: Additional LWN links to RCU APIDocumentation/RCU/whatisRCU.txt+1 -00 replies
4/6Revert "rcu: Permit rt_mutex_unlock() with irqs disabled"kernel/rcutree_plugin.h kernel/rtmutex.c+0 -130 replies
5/6rcu: Apply ACCESS_ONCE() to rcu_boost() return valuekernel/rcutiny_plugin.h kernel/rcutree_plugin.h+4 -30 replies
6/6cpu: Export cpu_up()kernel/cpu.c+1 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/6] Preview of fifth set of RCU changes for 3.3

Hello!

This patchset adds to the earlier sets:

	https://lkml.org/lkml/2011/11/2/363
	https://lkml.org/lkml/2011/11/15/302
	https://lkml.org/lkml/2011/11/28/588
	https://lkml.org/lkml/2011/12/3/77

This fifth set adds rcutorture tests for the recently added srcu_read_lock_raw(), additional tracing to further evaluate RCU_FAST_NO_HZ, addition of an export to assist with rcutorture testing, bug fixes, and documentation. The patches are as follows:

1. Add rcutorture tests for srcu_read_lock_raw().
2. Add tracing to further validate RCU_FAST_NO_HZ by giving more
information on RCU's state at the time it decides to stop invoking callbacks.
3. Add the 2010 RCU API LWN article to the RCU documentation
(courtesy of Kees Cook).
4. Revert patch that permitted rtmutex acquisition with interrupts
disabled. Per LKML discussions (https://lkml.org/lkml/2011/12/5/63),
it was decided to illegalize IRQ-disable code sections that partially overlap with RCU read-side critical sections. Code to enforce this illegalization is in progress.
5. Add ACCESS_ONCE() to rcu_boost() return value.
6. Export cpu_up() so that rcutorture can exercise CPU hotplug
and RCU when rcutorture is built as a module.

For a testing-only version of this patchset from git, please see the following subject-to-rebase branch, based on 3.2-rc5:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next

Thanx, Paul

------------------------------------------------------------------------

 b/Documentation/RCU/whatisRCU.txt |    1 +
 b/include/trace/events/rcu.h      |   38 +++++++++++++++++++++++++++++---------
 b/kernel/cpu.c                    |    1 +
 b/kernel/rcutiny.c                |   10 ++++++++--
 b/kernel/rcutiny_plugin.h         |   25 +++++++++++++++++++++++++
 b/kernel/rcutorture.c             |   26 +++++++++++++++++++++++++-
 b/kernel/rcutree.c                |    8 ++++++--
 b/kernel/rcutree_plugin.h         |    5 -----
 b/kernel/rtmutex.c                |    8 --------
 kernel/rcutiny_plugin.h           |    4 ++--
 kernel/rcutree_plugin.h           |    3 ++-
 11 files changed, 99 insertions(+), 30 deletions(-)