Re: [PATCH] v3 RCU: the bloatwatch edition

From: Ingo Molnar
Date: Wed Apr 08 2009 - 12:39:34 EST



* Paul Mundt <lethal@xxxxxxxxxxxx> wrote:

> On Fri, Apr 03, 2009 at 12:36:05AM +0200, Ingo Molnar wrote:
> > * 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:
> >
> > Andrew, what do you think?
> >
> > A worry is yet another RCU variant - we already have 3.
> >
> > A trick we could use would be to put it into Documentation/rcu/,
> > linked in via some clever Makefile magic and only usable if a
> > ultra-embedded developer does a build with something like
> > CONFIG_RCU_TINY=y. That way there's no real maintenance and testing
> > overhead.
> >
> > It _does_ have documentation value beyond the ~900 bytes: it's the
> > simplest and smallest possible still-working UP RCU implementation
> > so it would be easy to teach RCU concepts via that, gradually.
>
> A similar argument could have been used for tiny-shmem when it was
> first integrated. As this is hiding behind CONFIG_EMBEDDED, most
> users are not going to run in to it, so the confusion of 1 more
> RCU variant is not likely to be a problem for those that aren't
> actively seeking it out.
>
> So, personally I think it is a good idea, and I have no
> reservations about default enabling it for a number of more
> constrained SH platforms.

but at least tiny-shmem is now nicely hidden in mm/shmem.c, in an
unintrusive !CONFIG_SHMEM branch. There's no CONFIG_TINY_SHMEM
option anymore - it's all done in the !CONFIG_SHMEM case.

Is tiny-RCU in the same category?

Ingo
--
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/