On Mon, Jul 24, 2017 at 02:58:16PM -0700, Paul E. McKenney wrote: > The sys_membarrier() system call has proven too slow for some use > cases, which has prompted users to instead rely on TLB shootdown. > Although TLB shootdown is much faster, it has the slight disadvantage > of not working at all on arm and arm64. This commit therefore adds > an expedited option to the sys_membarrier() system call.
> @@ -64,6 +65,10 @@ SYSCALL_DEFINE2(membarrier, int, cmd, int, flags) > if (num_online_cpus() > 1) > synchronize_sched(); > return 0; > + case MEMBARRIER_CMD_SHARED_EXPEDITED: > + if (num_online_cpus() > 1) > + synchronize_sched_expedited(); > + return 0; So you now give unprivileged userspace the means to IPI the entire machine? So what do we do when someone goes and does: for (;;) sys_membarrier(MEMBARRIER_CMD_SHARED_EXPEDITED, 0); on us?