Re: [PATCH] v4 RCU: the bloatwatch edition

Paul E. McKenney
2009-05-06T22:52:57Z

On Wed, May 06, 2009 at 11:22:54PM +0100, David Howells wrote:
> Andrew Morton <akpm@linux-foundation.org> wrote:
>
> > More like "concerns". It's unobvious to me that the modest .text
> > savings justify the costs of an additional RCU implementation. Where
> > those costs include
>
> It may be more than just modest .text savings. Being optimised to be as
> simple as possible, and to only support one CPU, it may be quicker too. I'm
> not sure how best to benchmark it though.

The read side is unchanged, but the update side is another story, given
that synchronize_rcu()'s latency decreases from multiple milliseconds
to the sub-microsecond range:

void synchronize_rcu(void)
{
unsigned long flags;

local_irq_save(flags);
rcu_ctrlblk.completed++;
local_irq_restore(flags);
}

So boot speed is one possible metric, depending on how many synchronize_rcu()
invocations are in your arch's boot path. It appears that x86 has a
fair number. ;-)

Thanx, Paul