Lines Matching refs:lock
124 simple_lock_init(&(call)->lock, 0);
133 * by the queue lock and the call entry lock. The locking protocol is:
137 * 1) With only the entry lock held, entry.queue is valid:
145 * 2) If a queue lock is obtained first, the queue is stable:
146 * 2a) If a try-lock of a queued entry succeeds, the call can be operated on
148 * 2b) If a try-lock fails, it indicates that another thread is attempting
152 * the entry.queue pointer (protected by the entry lock we don't own).
173 if (!hw_lock_held((hw_lock_t)&entry->lock))
177 * XXX The queue lock is actually a mutex in spin mode
198 if (!hw_lock_held((hw_lock_t)&entry->lock))
201 /* XXX More lock pretense: */
253 simple_lock(&call->lock);
281 simple_unlock(&call->lock);
299 simple_lock(&call->lock);
318 simple_unlock(&call->lock);
439 if (!simple_lock_try(&call->lock)) {
441 * case (2b) lock order inversion, dequeue and skip
463 simple_unlock(&call->lock);
489 if (!simple_lock_try(&call->lock)) {
490 /* case (2b) lock inversion, dequeue and skip */
503 simple_unlock(&call->lock);
626 if (!simple_lock_try(&call->lock)) {
627 /* case (2b) lock order inversion, dequeue only */
637 simple_unlock(&call->lock);