bfq: use bfq_bic_lookup in bfq_limit_depth
authorChristoph Hellwig <hch@lst.de>
Fri, 26 Nov 2021 11:58:07 +0000 (12:58 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 29 Nov 2021 13:41:29 +0000 (06:41 -0700)
No need to create a new I/O context if there is none present yet in
->limit_depth.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20211126115817.2087431-5-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c

index c990c64..ecc2e57 100644 (file)
@@ -663,7 +663,7 @@ static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit)
 static void bfq_limit_depth(unsigned int op, struct blk_mq_alloc_data *data)
 {
        struct bfq_data *bfqd = data->q->elevator->elevator_data;
-       struct bfq_io_cq *bic = icq_to_bic(blk_mq_sched_get_icq(data->q));
+       struct bfq_io_cq *bic = bfq_bic_lookup(data->q);
        struct bfq_queue *bfqq = bic ? bic_to_bfqq(bic, op_is_sync(op)) : NULL;
        int depth;
        unsigned limit = data->q->nr_requests;