Re: [PATCH] arm: smp: Avoid false positive CPU hotplug Lockdep-RCU splat

From: Paul E. McKenney
Date: Mon Mar 11 2024 - 15:01:45 EST


On Mon, Mar 11, 2024 at 05:17:43PM +0100, Stefan Wiehler wrote:
> > So what do I do about this? I see you submitted this to the patch system
> > on the 8th March, but proposed a different approach on the 9th March. I
> > don't see evidence that Paul is happy with the original approach either
> > and there's no ack/r-b's on anything here.
>
> I think we need to wait for feedback from Will Deacon regarding the new
> arch_spin_lock() based approach. So please abandon the original proposal in the
> patch system, at least for now…

I prefer the arch_spin_lock() version, but the other approach also works.
I agree with Stefan that it would also be good to get Will's feedback.

The downside of the arch_spin_lock() approach is that, in theory, it
prevents lockdep from seeing deadlocks involving that lock acquisition.
But in practice, that is a problem only if additional locks can be
acquired while that lock is held, and there are no such additional
locks, right?

The downside of the original approach is that it further complicates
RCU's interaction with offline CPUs, especially should people copy that
approach in other pieces of offline code.

So, again, I prefer the arch_spin_lock() approach.

Thanx, Paul