• Will Deacon's avatar
    documentation: memory-barriers: Fix smp_mb__before_spinlock() semantics · d956028e
    Will Deacon authored
    Our current documentation claims that, when followed by an ACQUIRE,
    smp_mb__before_spinlock() orders prior loads against subsequent loads
    and stores, which isn't the intent.  This commit therefore fixes the
    documentation to state that this sequence orders only prior stores
    against subsequent loads and stores.
    
    In addition, the original intent of smp_mb__before_spinlock() was to only
    order prior loads against subsequent stores, however, people have started
    using it as if it ordered prior loads against subsequent loads and stores.
    This commit therefore also updates smp_mb__before_spinlock()'s header
    comment to reflect this new reality.
    
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    d956028e
spinlock.h 11.5 KB