Searched refs:mcs_spinlock (Results 1 – 3 of 3) sorted by relevance
18 struct mcs_spinlock { struct19 struct mcs_spinlock *next; argument65 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()
83 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()
51 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()