On Tue, Dec 10, 2013 at 09:36:36AM -0800, Davidlohr Bueso wrote: > On Tue, 2013-12-10 at 18:15 +0100, Peter Zijlstra wrote: > > - * The length of the list is tracked with atomic ops (hb->waiters), > > - * providing the necessary memory barriers for the waiters. For the > > - * waker side, however, we rely on get_futex_key_refs(), using either > > - * ihold() or the atomic_inc(), for shared futexes. The former provides > > - * a full mb on all architectures. For architectures that do not have an > > - * implicit barrier in atomic_inc/dec, we explicitly add it - please > > - * refer to futex_get_mm() and hb_waiters_inc/dec(). > > IMHO this text gives a nice summary instead of documenting each function > with this things like '... implies MB (B)'. Anyway, I'll resend this > patch with your corrections.
Right, I didn't much care for that. Once you know that you need them and what for, the actual finding of the barriers is usually a 'trivial' matter. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/