Re: [PATCH] v3 RCU: the bloatwatch edition

From: David Howells
Date: Tue Apr 28 2009 - 10:25:32 EST


Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> This patch is a version of RCU designed for (!SMP && EMBEDDED)
> provided as a proof of concept of a small-footprint RCU implementation.
> In particular, the implementation of synchronize_rcu() is extremely
> lightweight and high performance. It passes rcutorture testing in each
> of the four relevant configurations (combinations of NO_HZ and PREEMPT)
> on x86. This saves about 900 bytes compared to Classic RCU, and a
> couple kilobytes compared to Hierarchical RCU:

On FRV, CLASSIC_RCU:

text data bss dec hex filename
2616 184 0 2800 af0 kernel/rcuclassic.o
884 32 20 936 3a8 kernel/rcupdate.o

TREE_RCU:

3940 328 0 4268 10ac kernel/rcutree.o
884 32 20 936 3a8 kernel/rcupdate.o

TINY_RCU:

1152 32 0 1184 4a0 kernel/rcutiny.o
836 32 20 888 378 kernel/rcupdate.o

It works on my FRV board.

Possibly TINY_RCU could be shrunk a bit more by a judicious bit of inlining of
some of the very small functions.

Acked-by: David Howells <dhowells@xxxxxxxxxx>
--
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/