Home
last modified time | relevance | path

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

/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.c83 struct mcs_spinlock mcs;
126 static inline __pure struct mcs_spinlock *decode_tail(u32 tail) in decode_tail()
135 struct mcs_spinlock *grab_mcs_node(struct mcs_spinlock *base, int idx) in grab_mcs_node()
273 static __always_inline void __pv_init_node(struct mcs_spinlock *node) { } in __pv_init_node()
274 static __always_inline void __pv_wait_node(struct mcs_spinlock *node, in __pv_wait_node()
275 struct mcs_spinlock *prev) { } in __pv_wait_node()
277 struct mcs_spinlock *node) { } in __pv_kick_node()
279 struct mcs_spinlock *node) in __pv_wait_head_or_lock()
318 struct mcs_spinlock *prev, *next, *node; in queued_spin_lock_slowpath()
Dqspinlock_paravirt.h51 struct mcs_spinlock mcs;
278 static void pv_init_node(struct mcs_spinlock *node) in pv_init_node()
293 static void pv_wait_node(struct mcs_spinlock *node, struct mcs_spinlock *prev) in pv_wait_node()
360 static void pv_kick_node(struct qspinlock *lock, struct mcs_spinlock *node) in pv_kick_node()
403 pv_wait_head_or_lock(struct qspinlock *lock, struct mcs_spinlock *node) in pv_wait_head_or_lock()