Messages in this thread | | | Date | Tue, 23 Jun 2009 05:58:32 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH] v5 RCU: the bloatwatch edition |
| |
On Tue, Jun 23, 2009 at 11:32:08AM +0200, Ingo Molnar wrote: > > * David Howells <dhowells@redhat.com> wrote: > > > 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 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@linux.vnet.ibm.com> > > > > Acked-by: David Howells <dhowells@redhat.com > > Ok, that's more convincing than 900 bytes on x86.
It used to be 900 bytes. In 2.6.30, it is 1263 bytes. ;-)
That said, I agree that FRV and MN10300 savings are more impressive.
> Paul, i guess this is .32 material anyway, right?
I am personally OK with it being .32, as long as David Howells, Lennert Buytenhek, and Paul Mundt are OK with that schedule.
> Since there's plenty of time, could we perhaps also do the > classic-rcu removal and integrate-rcupreempt-into-tree-rcu steps, to > reduce the (significant) config complexity perhaps?
Classic-RCU removal most certainly. I am hoping to get the integrate-rcupreempt-into-tree-rcu piece done in .32 timeframe, but there is a chance that it may be a bit later.
Thanx, Paul
| |