Re: Simplifying our RCU models

From: Paul E. McKenney
Date: Wed Jun 27 2018 - 18:26:39 EST


On Fri, Jun 08, 2018 at 09:51:34AM -0700, Paul E. McKenney wrote:
> On Tue, Apr 10, 2018 at 04:44:25PM -0700, Paul E. McKenney wrote:
> > On Thu, Mar 08, 2018 at 12:45:24PM -0800, Paul E. McKenney wrote:
> > > On Wed, Mar 07, 2018 at 10:48:50AM -0800, Linus Torvalds wrote:
> > > > On Wed, Mar 7, 2018 at 7:54 AM, Paul E. McKenney
> > > > <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> > > > >
> > > > > Ah, and any thoughts on how best to get feedback from the various people
> > > > > who would need to reprogram their fingers? Or is everyone already on
> > > > > board with changing these various names?
> > > >
> > > > I really would prefer to not see massive re-naming unless there is a
> > > > really good reason for it.
> > > >
> > > > I'm all for simplifying RCU from a million different versions down to
> > > > just a few thousand, but I'm definitely not convinced we want to do
> > > > any search-and-replace.
> > >
> > > I am currently in the design (more accurately, reredesign phase) for
> > > the simplification. It is quite possible that there is a good reason
> > > for at least some renaming, but in that case, I would come back later
> > > with that as a separate proposal.
> >
> > And I really am still working on this. It is a bit tricky, but still
> > looks doable. More likely to be ready for 4.19 than 4.18, though.
>
> I suppose it is well past time for an update...
>
> I believe I have the preparation work done (famous last words!), and I am
> now working on making rcutorture properly test the resulting compound RCU
> read-side critical sections. User-level testing might be necessary (and
> has been for some of the preparatory work). The ink-on-paper prototype
> is starting to look promising, and I expect to get the corresponding
> prototype patch posted by the end of this month.
>
> A bit trickier than I expected (as usual), but still looking doable.

And it now passes light rcutorture testing, so I have posted an RFC
series to LKML:

lkml.kernel.org/r/20180627204835.GA25456@xxxxxxxxxxxxxxxxxx

There will be a long series of cleanups that will remove the other
flavors and also the code that supports multiple flavors, but there are
probably quite a few bugs to fix in this particular patch between now
and then. ;-)

Thanx, Paul