perf: Fix perf ring buffer memory ordering
authorPeter Zijlstra <peterz@infradead.org>
Mon, 28 Oct 2013 12:55:29 +0000 (13:55 +0100)
committerIngo Molnar <mingo@kernel.org>
Tue, 29 Oct 2013 11:01:19 +0000 (12:01 +0100)
commitbf378d341e4873ed928dc3c636252e6895a21f50
treedf69751e469725f2e23da8404884b5540d1bcddc
parentcd65718712469ad844467250e8fad20a5838baae
perf: Fix perf ring buffer memory ordering

The PPC64 people noticed a missing memory barrier and crufty old
comments in the perf ring buffer code. So update all the comments and
add the missing barrier.

When the architecture implements local_t using atomic_long_t there
will be double barriers issued; but short of introducing more
conditional barrier primitives this is the best we can do.

Reported-by: Victor Kaplansky <victork@il.ibm.com>
Tested-by: Victor Kaplansky <victork@il.ibm.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: michael@ellerman.id.au
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: Michael Neuling <mikey@neuling.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: anton@samba.org
Cc: benh@kernel.crashing.org
Link: http://lkml.kernel.org/r/20131025173749.GG19466@laptop.lan
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/uapi/linux/perf_event.h
kernel/events/ring_buffer.c