Searched refs:mcs_spinlock (Results 1 - 3 of 3) sorted by relevance

/linux-master/kernel/locking/
H A Dmcs_spinlock.h16 #include <asm/mcs_spinlock.h>
18 struct mcs_spinlock { struct
19 struct mcs_spinlock *next;
65 void mcs_spin_lock(struct mcs_spinlock **lock, struct mcs_spinlock *node)
67 struct mcs_spinlock *prev;
102 void mcs_spin_unlock(struct mcs_spinlock **lock, struct mcs_spinlock *node)
104 struct mcs_spinlock *next = READ_ONCE(node->next);
H A Dqspinlock.c69 #include "mcs_spinlock.h"
73 * On 64-bit architectures, the mcs_spinlock structure will be 16 bytes in
83 struct mcs_spinlock mcs;
126 static inline __pure struct mcs_spinlock *decode_tail(u32 tail)
135 struct mcs_spinlock *grab_mcs_node(struct mcs_spinlock *base, int idx)
273 static __always_inline void __pv_init_node(struct mcs_spinlock *node) { }
274 static __always_inline void __pv_wait_node(struct mcs_spinlock *node,
275 struct mcs_spinlock *prev) { }
277 struct mcs_spinlock *nod
[all...]
H A Dqspinlock_paravirt.h51 struct mcs_spinlock mcs;
276 * Initialize the PV part of the mcs_spinlock node.
278 static void pv_init_node(struct mcs_spinlock *node)
293 static void pv_wait_node(struct mcs_spinlock *node, struct mcs_spinlock *prev)
360 static void pv_kick_node(struct qspinlock *lock, struct mcs_spinlock *node)
403 pv_wait_head_or_lock(struct qspinlock *lock, struct mcs_spinlock *node)

Completed in 100 milliseconds