locking/qspinlock: Use atomic_sub_return_release() in queued_spin_unlock()
authorPan Xinhui <xinhui.pan@linux.vnet.ibm.com>
Fri, 3 Jun 2016 08:38:14 +0000 (16:38 +0800)
committerIngo Molnar <mingo@kernel.org>
Wed, 8 Jun 2016 13:17:01 +0000 (15:17 +0200)
commitca50e426f96c905e7d14a9c7a6bd4e0330516047
treee21ab5d1ec87777e8ebdf3d599de233648bc570b
parent6428671bae97caa7040e24e79e969fd87908f4f3
locking/qspinlock: Use atomic_sub_return_release() in queued_spin_unlock()

The existing version uses a heavy barrier while only release semantics
is required. So use atomic_sub_return_release() instead.

Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Pan Xinhui <xinhui.pan@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: arnd@arndb.de
Cc: waiman.long@hp.com
Link: http://lkml.kernel.org/r/1464943094-3129-1-git-send-email-xinhui.pan@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/asm-generic/qspinlock.h