Re: [PATCH] v4 RCU: the bloatwatch edition

From: Paul E. McKenney
Date: Wed May 06 2009 - 18:52:59 EST


On Wed, May 06, 2009 at 11:22:54PM +0100, David Howells wrote:
> Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/