Commit 58336114 authored by Mathieu Desnoyers's avatar Mathieu Desnoyers Committed by Linus Torvalds

markers: remove ACCESS_ONCE

As Paul pointed out, the ACCESS_ONCE are not needed because we already have
the explicit surrounding memory barriers.
Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Mike Mason <mmlnx@us.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: David Smith <dsmith@redhat.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Adrian Bunk <adrian.bunk@movial.fi>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent fd3c36f8
...@@ -109,13 +109,13 @@ void marker_probe_cb(const struct marker *mdata, void *call_private, ...@@ -109,13 +109,13 @@ void marker_probe_cb(const struct marker *mdata, void *call_private,
* modules and they insure RCU read coherency. * modules and they insure RCU read coherency.
*/ */
preempt_disable(); preempt_disable();
ptype = ACCESS_ONCE(mdata->ptype); ptype = mdata->ptype;
if (likely(!ptype)) { if (likely(!ptype)) {
marker_probe_func *func; marker_probe_func *func;
/* Must read the ptype before ptr. They are not data dependant, /* Must read the ptype before ptr. They are not data dependant,
* so we put an explicit smp_rmb() here. */ * so we put an explicit smp_rmb() here. */
smp_rmb(); smp_rmb();
func = ACCESS_ONCE(mdata->single.func); func = mdata->single.func;
/* Must read the ptr before private data. They are not data /* Must read the ptr before private data. They are not data
* dependant, so we put an explicit smp_rmb() here. */ * dependant, so we put an explicit smp_rmb() here. */
smp_rmb(); smp_rmb();
...@@ -133,7 +133,7 @@ void marker_probe_cb(const struct marker *mdata, void *call_private, ...@@ -133,7 +133,7 @@ void marker_probe_cb(const struct marker *mdata, void *call_private,
* in the fast path, so put the explicit barrier here. * in the fast path, so put the explicit barrier here.
*/ */
smp_read_barrier_depends(); smp_read_barrier_depends();
multi = ACCESS_ONCE(mdata->multi); multi = mdata->multi;
for (i = 0; multi[i].func; i++) { for (i = 0; multi[i].func; i++) {
va_start(args, fmt); va_start(args, fmt);
multi[i].func(multi[i].probe_private, call_private, fmt, multi[i].func(multi[i].probe_private, call_private, fmt,
...@@ -161,13 +161,13 @@ void marker_probe_cb_noarg(const struct marker *mdata, ...@@ -161,13 +161,13 @@ void marker_probe_cb_noarg(const struct marker *mdata,
char ptype; char ptype;
preempt_disable(); preempt_disable();
ptype = ACCESS_ONCE(mdata->ptype); ptype = mdata->ptype;
if (likely(!ptype)) { if (likely(!ptype)) {
marker_probe_func *func; marker_probe_func *func;
/* Must read the ptype before ptr. They are not data dependant, /* Must read the ptype before ptr. They are not data dependant,
* so we put an explicit smp_rmb() here. */ * so we put an explicit smp_rmb() here. */
smp_rmb(); smp_rmb();
func = ACCESS_ONCE(mdata->single.func); func = mdata->single.func;
/* Must read the ptr before private data. They are not data /* Must read the ptr before private data. They are not data
* dependant, so we put an explicit smp_rmb() here. */ * dependant, so we put an explicit smp_rmb() here. */
smp_rmb(); smp_rmb();
...@@ -183,7 +183,7 @@ void marker_probe_cb_noarg(const struct marker *mdata, ...@@ -183,7 +183,7 @@ void marker_probe_cb_noarg(const struct marker *mdata,
* in the fast path, so put the explicit barrier here. * in the fast path, so put the explicit barrier here.
*/ */
smp_read_barrier_depends(); smp_read_barrier_depends();
multi = ACCESS_ONCE(mdata->multi); multi = mdata->multi;
for (i = 0; multi[i].func; i++) for (i = 0; multi[i].func; i++)
multi[i].func(multi[i].probe_private, call_private, fmt, multi[i].func(multi[i].probe_private, call_private, fmt,
&args); &args);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment