Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH] v3 RCU: the bloatwatch edition | Date | Tue, 28 Apr 2009 15:24:14 +0100 |
| |
Paul E. McKenney <paulmck@linux.vnet.ibm.com> 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@redhat.com>
| |