> > Yes, it's true that implementing locks with atomic_cmpxchg_acquire > > should be correct on all existing architectures. And Paul has invited > > a patch to modify the LKMM accordingly. If you feel that such a change > > would be a useful enhancement to the LKMM's applicability, please write > > it. > > Yes, please! That would be the "RmW" discussion which Andrea partially > quoted earlier on, so getting that going independently from this patch > sounds like a great idea to me. That was indeed one of the proposal we discussed. As you recalled, that proposal only covered RmWs load-acquire (and ordinary store-release); in particular, I realized that comments such as: "The atomic_cond_read_acquire() call above has provided the necessary acquire semantics required for locking." [from kernel/locking/qspinlock.c] (for example) would still _not have "generic validity" _if we added the above po-unlock-rf-lock-po term... (which, again, makes me somehow uncon- fortable); Would to have _all_ the acquire be admissible for you? Andrea > > Cheers, > > Will