Lines Matching refs:idx
115 static inline __pure u32 encode_tail(int cpu, int idx) in encode_tail() argument
120 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail()
128 int idx = (tail & _Q_TAIL_IDX_MASK) >> _Q_TAIL_IDX_OFFSET; in decode_tail() local
130 return per_cpu_ptr(&qnodes[idx].mcs, cpu); in decode_tail()
134 struct mcs_spinlock *grab_mcs_node(struct mcs_spinlock *base, int idx) in grab_mcs_node() argument
136 return &((struct qnode *)base + idx)->mcs; in grab_mcs_node()
319 int idx; in queued_spin_lock_slowpath() local
401 idx = node->count++; in queued_spin_lock_slowpath()
402 tail = encode_tail(smp_processor_id(), idx); in queued_spin_lock_slowpath()
413 if (unlikely(idx >= MAX_NODES)) { in queued_spin_lock_slowpath()
420 node = grab_mcs_node(node, idx); in queued_spin_lock_slowpath()
425 lockevent_cond_inc(lock_use_node2 + idx - 1, idx); in queued_spin_lock_slowpath()