summaryrefslogtreecommitdiffstats
path: root/kernel/sched/membarrier.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/membarrier.c')
-rw-r--r--kernel/sched/membarrier.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched/membarrier.c b/kernel/sched/membarrier.c
index 76e0eaf4654e..3cd8a3a795d2 100644
--- a/kernel/sched/membarrier.c
+++ b/kernel/sched/membarrier.c
@@ -210,7 +210,7 @@ static int membarrier_register_global_expedited(void)
210 * future scheduler executions will observe the new 210 * future scheduler executions will observe the new
211 * thread flag state for this mm. 211 * thread flag state for this mm.
212 */ 212 */
213 synchronize_sched(); 213 synchronize_rcu();
214 } 214 }
215 atomic_or(MEMBARRIER_STATE_GLOBAL_EXPEDITED_READY, 215 atomic_or(MEMBARRIER_STATE_GLOBAL_EXPEDITED_READY,
216 &mm->membarrier_state); 216 &mm->membarrier_state);
@@ -246,7 +246,7 @@ static int membarrier_register_private_expedited(int flags)
246 * Ensure all future scheduler executions will observe the 246 * Ensure all future scheduler executions will observe the
247 * new thread flag state for this process. 247 * new thread flag state for this process.
248 */ 248 */
249 synchronize_sched(); 249 synchronize_rcu();
250 } 250 }
251 atomic_or(state, &mm->membarrier_state); 251 atomic_or(state, &mm->membarrier_state);
252 252
@@ -298,7 +298,7 @@ SYSCALL_DEFINE2(membarrier, int, cmd, int, flags)
298 if (tick_nohz_full_enabled()) 298 if (tick_nohz_full_enabled())
299 return -EINVAL; 299 return -EINVAL;
300 if (num_online_cpus() > 1) 300 if (num_online_cpus() > 1)
301 synchronize_sched(); 301 synchronize_rcu();
302 return 0; 302 return 0;
303 case MEMBARRIER_CMD_GLOBAL_EXPEDITED: 303 case MEMBARRIER_CMD_GLOBAL_EXPEDITED:
304 return membarrier_global_expedited(); 304 return membarrier_global_expedited();