aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2018-05-01 18:05:45 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2018-07-12 18:39:01 -0400
commit91f63ced7dc4e80acd13386204327d5de00a672d (patch)
tree4c30ccd7ea1a69644291b276d5aa19bd79b60bc2 /kernel/rcu/tree.c
parent77cfc7bf24ba0ba37be54e224007847d485a860f (diff)
rcu: Replace smp_wmb() with smp_store_release() for stall check
This commit gets rid of the smp_wmb() in record_gp_stall_check_time() in favor of an smp_store_release(). Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index a4277c1087d9..439228b79811 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1246,9 +1246,9 @@ static void record_gp_stall_check_time(struct rcu_state *rsp)
1246 unsigned long j1; 1246 unsigned long j1;
1247 1247
1248 rsp->gp_start = j; 1248 rsp->gp_start = j;
1249 smp_wmb(); /* Record start time before stall time. */
1250 j1 = rcu_jiffies_till_stall_check(); 1249 j1 = rcu_jiffies_till_stall_check();
1251 WRITE_ONCE(rsp->jiffies_stall, j + j1); 1250 /* Record ->gp_start before ->jiffies_stall. */
1251 smp_store_release(&rsp->jiffies_stall, j + j1); /* ^^^ */
1252 rsp->jiffies_resched = j + j1 / 2; 1252 rsp->jiffies_resched = j + j1 / 2;
1253 rsp->n_force_qs_gpstart = READ_ONCE(rsp->n_force_qs); 1253 rsp->n_force_qs_gpstart = READ_ONCE(rsp->n_force_qs);
1254} 1254}