On Mon, Nov 26, 2018 at 04:26:36PM +0000, David Howells wrote: > Andrea Parri <andrea.parri@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > Fix this by using atomic_sub_return() instead of two calls. > > > > > > > > Seems a case for atomic_sub_return_relaxed()... why not? > > > > > > Ummm... In that case, should it be atomic_sub_return_release()? > > > > Hard to tell for me: your diff./changelog is all I know about fs-cache > > ... (and this suggests -no-, given that atomic_sub() and atomic_read() > > provide no ordering...); good question though. ;-) > > Yeah, that doesn't mean that it shouldn't be stricter than 'relaxed'. It's > kind of like an unlock/release operation, so I think 'release' is probably the > minimum requirement. Sure. My point was: those operations are currently not atomic _and_ they provide no ordering; I think that the above commit message does a good work in explaining *why* we need atomicity, but can't say the same for the memory-ordering requirement. Andrea > > David