Re: [PATCH RFC tip/core/rcu 17/41] rcu: Remove single-rcu_nodeoptimization in rcu_start_gp()

From: Paul E. McKenney
Date: Thu Feb 02 2012 - 12:53:43 EST

On Wed, Feb 01, 2012 at 06:13:14PM -0800, Josh Triplett wrote:
> On Wed, Feb 01, 2012 at 11:41:35AM -0800, Paul E. McKenney wrote:
> > The grace-period initialization sequence in rcu_start_gp() has a special
> > case for systems where the rcu_node tree is a single rcu_node structure.
> > This made sense some years ago when systems were smaller and up to 64
> > CPUs could share a single rcu_node structure, but now that large systems
> > are common and a given leaf rcu_node structure can support only 16 CPUs
> > (due to lock contention on the rcu_node's ->lock field), this optimization
> > is almost never taken. And even the small mobile platforms that might
> > make use of it might rather have the kernel text reduction.
> >
> > Therefore, this commit removes the check for single-rcu_node trees.
> This optimization would continue to work on laptops for a while longer.
> :)

How many more months? ;-)

> That said, I do agree that reducing code size and complexity seems
> preferable. If someone wants an optimization like this, they'd probably
> do better to compile RCU with a low compile-time limit on the number of
> CPUs, which would at least theoretically allow the compiler to get
> similar results through optimization. (I don't know if that works in
> practice with the current code structure and the current intelligence of
> GCC.)
> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

Thank you for all your reviews -- as always, very helpful!!!

Thanx, Paul

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at