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

Josh Triplett
2009-10-14T20:40:23Z

On Wed, Oct 14, 2009 at 10:15:17AM -0700, Paul E. McKenney wrote:
> 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(-)

For all of these patches except 5/6 (commented on separately):
Acked-by: Josh Triplett <josh@joshtriplett.org>

I agree that these need to go into 2.6.32, to accompany the switch to
using hierarchical RCU exclusively.

- Josh Triplett