Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?

From: Paul E. McKenney
Date: Tue Nov 13 2012 - 16:20:53 EST


On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > On Tue, Nov 13, 2012 at 09:46:20AM -0500, Nick Bowler wrote:
> > > On 2012-11-12 16:49 -0800, Paul E. McKenney wrote:
> > > > Hello!
> > > >
> > > > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > > > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > > > was not a viable option (in contrast, the people running Linux on
> > > > tiny-memmory systems typically use TINY_RCU). Of course, if no one
> > > > really needs it, the proper thing to do is to remove it.
> > > >
> > > > So, if you need TINY_PREEMPT_RCU, please let me know. Otherwise, I will
> > > > remove it, probably in the 3.9 timeframe.
> > >
> > > Yes, I use TINY_PREEMPT_RCU on my UP machines. It is, in fact, the only
> > > option.
> >
> > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> > Would that work for you?
>
> To be honest I don't really know what the difference is, other than what
> the help text says, which is:
>
> [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
>
> "Greatly reduced memory footprint" sounds pretty useful...

OK, so from your viewpoint, the only possible benefit is smaller
memory? How much memory does your device have, if I may ask?

> As a side note, I wonder why any of these RCU implementations are
> user-seclectable options in the first place? It looks like you will
> only ever have one choice, since the dependencies all seem mutually
> exclusive:
>
> TREE_RCU depends on !PREEMPT && SMP
> TREE_PREEMPT_RCU depends on PREEMPT && SMP
> TINY_RCU depends on !PREEMPT && !SMP
> TINY_PREEMPT_RCU depends on PREEMPT && !SMP

Inertia on my part. ;-)

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/