Re: [PATCH tip/core/rcu 0/41] More RCU flavor consolidation cleanup for v4.21/v5.0

From: Paul E. McKenney
Date: Mon Nov 12 2018 - 11:01:56 EST


On Mon, Nov 12, 2018 at 09:07:50AM -0500, Mathieu Desnoyers wrote:
> ----- On Nov 11, 2018, at 2:41 PM, paulmck paulmck@xxxxxxxxxxxxx wrote:
>
> > Hello!
> >
> > This series does additional cleanup for the RCU flavor consolidation,
> > focusing primarily on uses of old API members, for example, so that
> > call_rcu_bh() becomes call_rcu(). There are also a few straggling
> > internal-to-RCU cleanups.
> >
> > 1. Remove unused rcu_state externs, courtesy of Joel Fernandes.
> >
> > 2. Fix rcu_{node,data} comments about gp_seq_needed, courtesy of
> > Joel Fernandes.
> >
> > 3. Eliminate synchronize_rcu_mult() and its sole caller.
> >
> > 4. Consolidate the RCU update functions invoked by sync.c.
> >
> > 5-41. Replace old flavorful RCU API calls with the corresponding
> > vanilla calls.
>
> Hi Paul,
>
> Just a heads up: we might want to spell out warnings in very big letters
> for anyone trying to backport code using RCU from post-4.21 kernels
> back to older kernels. I fear that newer code will build just fine
> on older kernels, but will spectacularly fail in hard-to-debug ways at
> runtime.
>
> Renaming synchronize_rcu() and call_rcu() to something that did not
> exist in prior kernels would prevent that. It may not be as pretty
> though.

>From v4.20 rather than v4.21, but yes. Would it make sense to have Sasha
automatically flag -stable candidates going back past that boundary that
contain call_rcu(), synchronize_rcu(), etc.? Adding Sasha on CC, and
I might be able to touch base with him this week.

Thanx, Paul