Re: [PATCH] v5 RCU: the bloatwatch edition

From: Paul E. McKenney
Date: Tue Jun 23 2009 - 12:11:05 EST


On Tue, Jun 23, 2009 at 05:47:01PM +0200, Lennert Buytenhek wrote:
> On Tue, Jun 23, 2009 at 05:58:32AM -0700, Paul E. McKenney 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
> > >
> > > 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.
>
> I like the patch, as nearly all ARM systems in the field right now are
> non-SMP. Russell King (CCd) is the ARM maintainer, so he should comment
> on the proposed timeline.

OK, I will submit a patch against -tip. If Russell needs Bloatwatch
RCU more quickly, we still have my earlier v5 patch against 2.6.30.

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/