Lines Matching defs:rq

530 static int rq_get_domain_token(struct request *rq)
532 return (long)rq->elv.priv[0];
535 static void rq_set_domain_token(struct request *rq, int token)
537 rq->elv.priv[0] = (void *)(long)token;
541 struct request *rq)
546 nr = rq_get_domain_token(rq);
548 sched_domain = kyber_sched_domain(rq->cmd_flags);
550 rq->mq_ctx->cpu);
585 static void kyber_prepare_request(struct request *rq)
587 rq_set_domain_token(rq, -1);
595 struct request *rq, *next;
597 list_for_each_entry_safe(rq, next, rq_list, queuelist) {
598 unsigned int sched_domain = kyber_sched_domain(rq->cmd_flags);
599 struct kyber_ctx_queue *kcq = &khd->kcqs[rq->mq_ctx->index_hw[hctx->type]];
603 trace_block_rq_insert(rq);
605 list_move(&rq->queuelist, head);
607 list_move_tail(&rq->queuelist, head);
609 rq->mq_ctx->index_hw[hctx->type]);
614 static void kyber_finish_request(struct request *rq)
616 struct kyber_queue_data *kqd = rq->q->elevator->elevator_data;
618 rq_clear_domain_token(kqd, rq);
639 static void kyber_completed_request(struct request *rq, u64 now)
641 struct kyber_queue_data *kqd = rq->q->elevator->elevator_data;
646 sched_domain = kyber_sched_domain(rq->cmd_flags);
653 target, now - rq->start_time_ns);
655 now - rq->io_start_time_ns);
759 struct request *rq;
772 rq = list_first_entry_or_null(rqs, struct request, queuelist);
773 if (rq) {
777 rq_set_domain_token(rq, nr);
778 list_del_init(&rq->queuelist);
779 return rq;
788 rq = list_first_entry(rqs, struct request, queuelist);
790 rq_set_domain_token(rq, nr);
791 list_del_init(&rq->queuelist);
792 return rq;
807 struct request *rq;
817 rq = kyber_dispatch_cur_domain(kqd, khd, hctx);
818 if (rq)
838 rq = kyber_dispatch_cur_domain(kqd, khd, hctx);
839 if (rq)
843 rq = NULL;
846 return rq;