locking/barriers: Replace smp_cond_acquire() with smp_cond_load_acquire()
authorPeter Zijlstra <peterz@infradead.org>
Mon, 4 Apr 2016 08:57:12 +0000 (10:57 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 14 Jun 2016 09:54:27 +0000 (11:54 +0200)
commit1f03e8d2919270bd6ef64f39a45ce8df8a9f012a
tree0cdd5de370212a021d0a1a3439bbc4b0a77fea8b
parent245050c287a9176cee9f98109df101909c1eeef4
locking/barriers: Replace smp_cond_acquire() with smp_cond_load_acquire()

This new form allows using hardware assisted waiting.

Some hardware (ARM64 and x86) allow monitoring an address for changes,
so by providing a pointer we can use this to replace the cpu_relax()
with hardware optimized methods in the future.

Requested-by: Will Deacon <will.deacon@arm.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/compiler.h
kernel/locking/qspinlock.c
kernel/sched/core.c
kernel/sched/sched.h
kernel/smp.c