1 .. SPDX-License-Identifier: GPL-2.0 2 3 ======================== 4 membarrier() System Call 5 ======================== 6 7 MEMBARRIER_CMD_{PRIVATE,GLOBAL}_EXPEDITED - Ar 8 ============================================== 9 10 Memory barriers before updating rq->curr 11 ---------------------------------------- 12 13 The commands MEMBARRIER_CMD_PRIVATE_EXPEDITED 14 require each architecture to have a full memor 15 user-space, before updating rq->curr. This ba 16 rq_lock(); smp_mb__after_spinlock() in __sched 17 barrier in the proximity of the membarrier sys 18 membarrier_{private,global}_expedited(). 19 20 Memory barriers after updating rq->curr 21 --------------------------------------- 22 23 The commands MEMBARRIER_CMD_PRIVATE_EXPEDITED 24 require each architecture to have a full memor 25 before returning to user-space. The schemes p 26 architectures are as follows. 27 28 - alpha, arc, arm, hexagon, mips rely on the 29 spin_unlock() in finish_lock_switch(). 30 31 - arm64 relies on the full barrier implied by 32 33 - powerpc, riscv, s390, sparc, x86 rely on th 34 switch_mm(), if mm is not NULL; they rely o 35 by mmdrop(), otherwise. On powerpc and ris 36 membarrier_arch_switch_mm(). 37 38 The barrier matches a full barrier in the prox 39 entry, cf. membarrier_{private,global}_expedit
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.