Re: [PATCH] v5 RCU: the bloatwatch edition

From: David Howells
Date: Tue Jun 23 2009 - 05:13:35 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 1263 bytes compared to Classic RCU, and more than
> three kilobytes compared to Hierarchical RCU (updated to 2.6.30):

On FRV:

CONFIG_CLASSIC_RCU=y

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

CONFIG_TREE_RCU=y

text data bss dec hex filename
884 32 20 936 3a8 kernel/rcupdate.o
4068 384 0 4452 1164 kernel/rcutree.o

CONFIG_TINY_RCU=y

text data bss dec hex filename
836 32 20 888 378 kernel/rcupdate.o
816 24 0 840 348 kernel/rcutiny.o

On MN10300:

CONFIG_CLASSIC_RCU=y

text data bss dec hex filename
900 28 48 976 3d0 kernel/rcupdate.o
1777 184 0 1961 7a9 kernel/rcuclassic.o

CONFIG_TREE_RCU=y

text data bss dec hex filename
900 28 48 976 3d0 kernel/rcupdate.o
2733 384 0 3117 c2d kernel/rcutree.o

CONFIG_PREEMPT_RCU=y

text data bss dec hex filename
961 28 48 1037 40d kernel/rcupdate.o
3314 128 8 3450 d7a kernel/rcupreempt.o

CONFIG_TINY_RCU=y

text data bss dec hex filename
865 28 48 941 3ad kernel/rcupdate.o
500 24 0 524 20c kernel/rcutiny.o

> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

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/