On Wed, Nov 11, 2015 at 07:31:28PM +0100, Peter Zijlstra wrote:
Add new one that does 'fetch_and_add' ? What is the real use case it will be used for?
Look at all the atomic_{add,dec}_return*() users in the kernel. A typical example would be a reader-writer lock implementations. See include/asm-generic/rwsem.h for examples.
Maybe a better example would be refcounting, where you free on 0.
if (!fetch_add(&obj->ref, -1)) free(obj);