Home
last modified time | relevance | path

Searched refs:mcs_spinlock (Results 1 – 24 of 24) sorted by relevance

/Linux-v4.19/kernel/locking/
Dmcs_spinlock.h18 struct mcs_spinlock { struct
19 struct mcs_spinlock *next; argument
65 void mcs_spin_lock(struct mcs_spinlock **lock, struct mcs_spinlock *node) in mcs_spin_lock()
67 struct mcs_spinlock *prev; in mcs_spin_lock()
102 void mcs_spin_unlock(struct mcs_spinlock **lock, struct mcs_spinlock *node) in mcs_spin_unlock()
104 struct mcs_spinlock *next = READ_ONCE(node->next); in mcs_spin_unlock()
Dqspinlock.c104 static DEFINE_PER_CPU_ALIGNED(struct mcs_spinlock, mcs_nodes[MAX_NODES]);
124 static inline __pure struct mcs_spinlock *decode_tail(u32 tail) in decode_tail()
251 static __always_inline void __pv_init_node(struct mcs_spinlock *node) { } in __pv_init_node()
252 static __always_inline void __pv_wait_node(struct mcs_spinlock *node, in __pv_wait_node()
253 struct mcs_spinlock *prev) { } in __pv_wait_node()
255 struct mcs_spinlock *node) { } in __pv_kick_node()
257 struct mcs_spinlock *node) in __pv_wait_head_or_lock()
296 struct mcs_spinlock *prev, *next, *node; in queued_spin_lock_slowpath()
Dqspinlock_paravirt.h51 struct mcs_spinlock mcs;
52 struct mcs_spinlock __res[3];
280 static void pv_init_node(struct mcs_spinlock *node) in pv_init_node()
284 BUILD_BUG_ON(sizeof(struct pv_node) > 5*sizeof(struct mcs_spinlock)); in pv_init_node()
295 static void pv_wait_node(struct mcs_spinlock *node, struct mcs_spinlock *prev) in pv_wait_node()
361 static void pv_kick_node(struct qspinlock *lock, struct mcs_spinlock *node) in pv_kick_node()
404 pv_wait_head_or_lock(struct qspinlock *lock, struct mcs_spinlock *node) in pv_wait_head_or_lock()
/Linux-v4.19/arch/ia64/include/asm/
DKbuild4 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/powerpc/include/asm/
DKbuild6 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/x86/include/asm/
DKbuild12 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/alpha/include/asm/
DKbuild9 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/sparc/include/asm/
DKbuild13 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/sh/include/asm/
DKbuild12 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/mips/include/asm/
DKbuild9 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/parisc/include/asm/
DKbuild14 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/m68k/include/asm/
DKbuild17 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/s390/include/asm/
DKbuild21 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/um/include/asm/
DKbuild19 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/arm64/include/asm/
DKbuild14 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/arc/include/asm/
DKbuild18 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/xtensa/include/asm/
DKbuild20 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/microblaze/include/asm/
DKbuild22 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/unicore32/include/asm/
DKbuild21 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/hexagon/include/asm/
DKbuild23 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/c6x/include/asm/
DKbuild23 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/nios2/include/asm/
DKbuild27 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/openrisc/include/asm/
DKbuild25 generic-y += mcs_spinlock.h
/Linux-v4.19/arch/h8300/include/asm/
DKbuild30 generic-y += mcs_spinlock.h