diff options
| author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-05-01 18:05:45 -0400 | 
|---|---|---|
| committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-07-12 18:39:01 -0400 | 
| commit | 91f63ced7dc4e80acd13386204327d5de00a672d (patch) | |
| tree | 4c30ccd7ea1a69644291b276d5aa19bd79b60bc2 /kernel/rcu/tree.c | |
| parent | 77cfc7bf24ba0ba37be54e224007847d485a860f (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.c | 4 | 
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 | } | 
