Lines Matching refs:idx
114 static inline __pure u32 encode_tail(int cpu, int idx) in encode_tail() argument
119 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail()
127 int idx = (tail & _Q_TAIL_IDX_MASK) >> _Q_TAIL_IDX_OFFSET; in decode_tail() local
129 return per_cpu_ptr(&qnodes[idx].mcs, cpu); in decode_tail()
133 struct mcs_spinlock *grab_mcs_node(struct mcs_spinlock *base, int idx) in grab_mcs_node() argument
135 return &((struct qnode *)base + idx)->mcs; in grab_mcs_node()
318 int idx; in queued_spin_lock_slowpath() local
400 idx = node->count++; in queued_spin_lock_slowpath()
401 tail = encode_tail(smp_processor_id(), idx); in queued_spin_lock_slowpath()
412 if (unlikely(idx >= MAX_NODES)) { in queued_spin_lock_slowpath()
419 node = grab_mcs_node(node, idx); in queued_spin_lock_slowpath()
424 lockevent_cond_inc(lock_use_node2 + idx - 1, idx); in queued_spin_lock_slowpath()