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?