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.