Lines Matching refs:q
41 struct elevator_type *et = icq->q->elevator->type; in ioc_exit_icq()
56 struct request_queue *q = icq->q; in ioc_destroy_icq() local
57 struct elevator_type *et = q->elevator->type; in ioc_destroy_icq()
60 lockdep_assert_held(q->queue_lock); in ioc_destroy_icq()
62 radix_tree_delete(&ioc->icq_tree, icq->q->id); in ioc_destroy_icq()
105 struct request_queue *q = icq->q; in ioc_release_fn() local
107 if (spin_trylock(q->queue_lock)) { in ioc_release_fn()
109 spin_unlock(q->queue_lock); in ioc_release_fn()
185 if (spin_trylock(icq->q->queue_lock)) { in put_io_context_active()
187 spin_unlock(icq->q->queue_lock); in put_io_context_active()
219 void ioc_clear_queue(struct request_queue *q) in ioc_clear_queue() argument
221 lockdep_assert_held(q->queue_lock); in ioc_clear_queue()
223 while (!list_empty(&q->icq_list)) { in ioc_clear_queue()
224 struct io_cq *icq = list_entry(q->icq_list.next, in ioc_clear_queue()
317 struct io_cq *ioc_lookup_icq(struct io_context *ioc, struct request_queue *q) in ioc_lookup_icq() argument
321 lockdep_assert_held(q->queue_lock); in ioc_lookup_icq()
331 if (icq && icq->q == q) in ioc_lookup_icq()
334 icq = radix_tree_lookup(&ioc->icq_tree, q->id); in ioc_lookup_icq()
335 if (icq && icq->q == q) in ioc_lookup_icq()
357 struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q, in ioc_create_icq() argument
360 struct elevator_type *et = q->elevator->type; in ioc_create_icq()
365 q->node); in ioc_create_icq()
375 icq->q = q; in ioc_create_icq()
380 spin_lock_irq(q->queue_lock); in ioc_create_icq()
383 if (likely(!radix_tree_insert(&ioc->icq_tree, q->id, icq))) { in ioc_create_icq()
385 list_add(&icq->q_node, &q->icq_list); in ioc_create_icq()
390 icq = ioc_lookup_icq(ioc, q); in ioc_create_icq()
396 spin_unlock_irq(q->queue_lock); in ioc_create_icq()