[PATCH tip/core/rcu 0/6] rcu: fix synchronize_rcu_expedited(), update docs, improve perf

Paul E. McKenney
2009-10-14T17:28:52Z

This patchset contains a bug fix, a performance improvement, and
documentation updates:

o Update Documentation/RCU/trace.txt to reflect recent changes
(including the removal of rcupreempt.c).

o Fix to the severe performance problem with excessive IPIs and
lock contention in presence of very large (but legal) numbers
of RCU callbacks (reported by Nick Piggin).

o Stopgap fix for a bug in TREE_PREEMPT_RCU's implementation of
synchronize_rcu_expedited(). This fix is correct, but no faster
than synchronize_rcu().

o Add exports for the updated synchronize_rcu_expedited()
implementation, which moved from a static inline in
include/linux/rcupdate.h to a separately compiled function
in kernel/rcutree_plugin.h.

o Add the new rnp->blocked_tasks field to the rcuhier trace file
in debugfs.

o Update the Documentation/RCU/trace.txt documentation to include
the rnp->blocked_tasks tracing.

I believe that this is 2.6.32 material.

Documentation/RCU/trace.txt | 22 ++-
b/Documentation/RCU/trace.txt | 232 +++++-------------------------------------
b/include/linux/rcutree.h | 6 -
b/kernel/rcutree.c | 29 ++++-
b/kernel/rcutree.h | 5
b/kernel/rcutree_plugin.h | 20 +++
b/kernel/rcutree_trace.c | 8 -
kernel/rcutree_plugin.h | 3
8 files changed, 103 insertions(+), 222 deletions(-)