Re: "Verifying and Optimizing Compact NUMA-Aware Locks on Weak Memory Models"

From: Peter Zijlstra
Date: Fri Aug 26 2022 - 12:23:48 EST


On Fri, Aug 26, 2022 at 05:48:12AM -0700, Paul E. McKenney wrote:
> Hello!
>
> I have not yet done more than glance at this one, but figured I should
> send it along sooner rather than later.
>
> "Verifying and Optimizing Compact NUMA-Aware Locks on Weak
> Memory Models", Antonio Paolillo, Hernán Ponce-de-León, Thomas
> Haas, Diogo Behrens, Rafael Chehab, Ming Fu, and Roland Meyer.
> https://arxiv.org/abs/2111.15240
>
> The claim is that the queued spinlocks implementation with CNA violates
> LKMM but actually works on all architectures having a formal hardware
> memory model.
>
> Thoughts?

So the paper mentions the following defects:

- LKMM doesn't carry a release-acquire chain across a relaxed op

- some babbling about a missing propagation -- ISTR Linux if stuffed
full of them, specifically we require stores to auto propagate
without help from barriers

- some handoff that is CNA specific and I've not looked too hard at
presently.


I think we should address that first one in LKMM, it seems very weird to
me a RmW would break the chain like that. Is there actual hardware that
doesn't behave?