Re: [RFC v1 2/2] rcu/tree: Remove dynticks_nmi_nesting counter

From: Andy Lutomirski
Date: Thu Aug 29 2019 - 12:22:02 EST


On Thu, Aug 29, 2019 at 9:10 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
>
> On Thu, Aug 29, 2019 at 10:43:55AM -0400, Joel Fernandes wrote:
>
> [ . . . ]
>
> > Paul, do we also nuke rcu_eqs_special_set()? Currently I don't see anyone
> > using it. And also remove the bottom most bit of dynticks?
> >
> > Also what happens if a TLB flush broadcast is needed? Do we IPI nohz or idle
> > CPUs are the moment?
> >
> > All of this was introduced in:
> > b8c17e6664c4 ("rcu: Maintain special bits at bottom of ->dynticks counter")
>
> Adding Andy Lutomirski on CC.
>
> Andy, is this going to be used in the near term, or should we just get
> rid of it?
>

Let's get rid of it. I'm not actually convinced it *can* be used as designed.

For those who forgot the history or weren't cc'd on all of it: I had
this clever idea about how we could reduce TLB flushes. I implemented
some of it (but not the part that would have used this RCU feature),
and it exploded in nasty and subtle ways. This caused me to learn
that speculative TLB fills were a problem that I had entirely failed
to account for. Then PTI happened and thoroughly muddied the water.

So I think we should just drop this :(