Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?

From: Paul E. McKenney
Date: Tue Nov 13 2012 - 19:25:05 EST


On Tue, Nov 13, 2012 at 05:40:40PM -0500, Nick Bowler wrote:
> On 2012-11-13 14:25 -0800, Paul E. McKenney wrote:
> > On Tue, Nov 13, 2012 at 04:47:20PM -0500, Nick Bowler wrote:
> > > On 2012-11-13 13:19 -0800, Paul E. McKenney wrote:
> > > > On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> > > > > On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > > > > > 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?
> > >
> > > Well, I have no idea. If I was given the choice between TREE_PREEMPT_RCU
> > > and TINY_PREEMPT_RCU, absent any information not in the description of
> > > these options, I would choose TINY. The description suggests that the
> > > memory savings come at the expense of SMP support, which sounds like a
> > > great tradeoff to make for a UP system.
> > >
> > > > How much memory does your device have, if I may ask?
> > >
> > > It's a (pretty old!) desktop. I recently had to upgrade it to two
> > > gigabytes due to unbearable thrashing with only one...
> >
> > If you have two gigabytes (or even one gigabyte), you won't notice the
> > few kilobytes of difference between TINY_PREEMPT_RCU and TREE_PREEMPT_RCU.
>
> Well then TINY_PREEMPT_RCU doesn't sound all that useful for me!
> Perhaps the help text could be improved... such as changing the words
> "greatly reduced" to "marginally reduced" as a first step?
>
> Is there no significant cache impact due to the larger implementation?
> I don't really have the time or expertise to do measurements in this
> regard, but if TREE_PREEMPT_RCU was actually a selectable option I could
> at least choose it to see if anything explodes horribly...

Indeed, if I do this, the first step would be to re-introduce the
choice between CONFIG_TREE_PREEMPT_RCU and CONFIG_TINY_PREEMPT_RCU
so that you could check for horrible explosions. If the past is
any guide, there would be at least a few. ;-)

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/