Lines Matching refs:membarrier

5  * membarrier system call
9 * For documentation purposes, here are some membarrier ordering
12 * A) Userspace thread execution after IPI vs membarrier's memory
19 * The memory barrier at the start of membarrier() on CPU0 is necessary in
21 * the membarrier() is executed will be visible to any code executing on
27 * membarrier():
42 * and r2 == 0. This violates the guarantee that membarrier() is
48 * B) Userspace thread execution before IPI vs membarrier's memory
55 * The memory barrier at the end of membarrier() on CPU0 is necessary in
57 * the membarrier() is executed will be visible to any code executing on
58 * CPU0 after the membarrier():
66 * membarrier():
77 * the guarantee that membarrier() is supposed to provide.
82 * C) Scheduling userspace thread -> kthread -> userspace thread vs membarrier
86 * membarrier():
97 * D) exit_mm vs membarrier
106 * membarrier():
116 * E) kthread_{use,unuse}_mm vs membarrier
120 * membarrier():
176 * The smp_mb() in membarrier after all the IPIs is supposed to
178 * become visible to membarrier()'s caller -- see scenario B in
183 * after membarrier()'s smp_mb().
396 * For regular membarrier, we can save a few cycles by
405 * membarrier, we will end up with some thread in the mm
461 * scheduler executions will observe @mm's new membarrier
468 * @mm's membarrier state set bits are also set in the runqueue's
469 * membarrier state. This ensures that a runqueue scheduling
470 * between threads which are users of @mm has its membarrier state
625 SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)