• Home
  • Raw
  • Download

Lines Matching refs:rq

528 static int rq_get_domain_token(struct request *rq)  in rq_get_domain_token()  argument
530 return (long)rq->elv.priv[0]; in rq_get_domain_token()
533 static void rq_set_domain_token(struct request *rq, int token) in rq_set_domain_token() argument
535 rq->elv.priv[0] = (void *)(long)token; in rq_set_domain_token()
539 struct request *rq) in rq_clear_domain_token() argument
544 nr = rq_get_domain_token(rq); in rq_clear_domain_token()
546 sched_domain = kyber_sched_domain(rq->cmd_flags); in rq_clear_domain_token()
548 rq->mq_ctx->cpu); in rq_clear_domain_token()
583 static void kyber_prepare_request(struct request *rq) in kyber_prepare_request() argument
585 rq_set_domain_token(rq, -1); in kyber_prepare_request()
592 struct request *rq, *next; in kyber_insert_requests() local
594 list_for_each_entry_safe(rq, next, rq_list, queuelist) { in kyber_insert_requests()
595 unsigned int sched_domain = kyber_sched_domain(rq->cmd_flags); in kyber_insert_requests()
596 struct kyber_ctx_queue *kcq = &khd->kcqs[rq->mq_ctx->index_hw[hctx->type]]; in kyber_insert_requests()
601 list_move(&rq->queuelist, head); in kyber_insert_requests()
603 list_move_tail(&rq->queuelist, head); in kyber_insert_requests()
605 rq->mq_ctx->index_hw[hctx->type]); in kyber_insert_requests()
606 blk_mq_sched_request_inserted(rq); in kyber_insert_requests()
611 static void kyber_finish_request(struct request *rq) in kyber_finish_request() argument
613 struct kyber_queue_data *kqd = rq->q->elevator->elevator_data; in kyber_finish_request()
615 rq_clear_domain_token(kqd, rq); in kyber_finish_request()
636 static void kyber_completed_request(struct request *rq, u64 now) in kyber_completed_request() argument
638 struct kyber_queue_data *kqd = rq->q->elevator->elevator_data; in kyber_completed_request()
643 sched_domain = kyber_sched_domain(rq->cmd_flags); in kyber_completed_request()
650 target, now - rq->start_time_ns); in kyber_completed_request()
652 now - rq->io_start_time_ns); in kyber_completed_request()
756 struct request *rq; in kyber_dispatch_cur_domain() local
769 rq = list_first_entry_or_null(rqs, struct request, queuelist); in kyber_dispatch_cur_domain()
770 if (rq) { in kyber_dispatch_cur_domain()
774 rq_set_domain_token(rq, nr); in kyber_dispatch_cur_domain()
775 list_del_init(&rq->queuelist); in kyber_dispatch_cur_domain()
776 return rq; in kyber_dispatch_cur_domain()
785 rq = list_first_entry(rqs, struct request, queuelist); in kyber_dispatch_cur_domain()
787 rq_set_domain_token(rq, nr); in kyber_dispatch_cur_domain()
788 list_del_init(&rq->queuelist); in kyber_dispatch_cur_domain()
789 return rq; in kyber_dispatch_cur_domain()
804 struct request *rq; in kyber_dispatch_request() local
814 rq = kyber_dispatch_cur_domain(kqd, khd, hctx); in kyber_dispatch_request()
815 if (rq) in kyber_dispatch_request()
835 rq = kyber_dispatch_cur_domain(kqd, khd, hctx); in kyber_dispatch_request()
836 if (rq) in kyber_dispatch_request()
840 rq = NULL; in kyber_dispatch_request()
843 return rq; in kyber_dispatch_request()