blk-mq: Remove blk_mq_queue_data.list
The block layer core sets blk_mq_queue_data.list but no block drivers read that member. Hence remove it and also the code that is used to set this member. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
142bbdfccc
commit
f2fbc9dd78
|
@ -984,16 +984,8 @@ bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *list)
|
||||||
{
|
{
|
||||||
struct request_queue *q = hctx->queue;
|
struct request_queue *q = hctx->queue;
|
||||||
struct request *rq;
|
struct request *rq;
|
||||||
LIST_HEAD(driver_list);
|
|
||||||
struct list_head *dptr;
|
|
||||||
int errors, queued, ret = BLK_MQ_RQ_QUEUE_OK;
|
int errors, queued, ret = BLK_MQ_RQ_QUEUE_OK;
|
||||||
|
|
||||||
/*
|
|
||||||
* Start off with dptr being NULL, so we start the first request
|
|
||||||
* immediately, even if we have more pending.
|
|
||||||
*/
|
|
||||||
dptr = NULL;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now process all the entries, sending them to the driver.
|
* Now process all the entries, sending them to the driver.
|
||||||
*/
|
*/
|
||||||
|
@ -1026,7 +1018,6 @@ bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *list)
|
||||||
list_del_init(&rq->queuelist);
|
list_del_init(&rq->queuelist);
|
||||||
|
|
||||||
bd.rq = rq;
|
bd.rq = rq;
|
||||||
bd.list = dptr;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Flag last if we have no more requests, or if we have more
|
* Flag last if we have no more requests, or if we have more
|
||||||
|
@ -1062,13 +1053,6 @@ bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *list)
|
||||||
|
|
||||||
if (ret == BLK_MQ_RQ_QUEUE_BUSY)
|
if (ret == BLK_MQ_RQ_QUEUE_BUSY)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
|
||||||
* We've done the first request. If we have more than 1
|
|
||||||
* left in the list, set dptr to defer issue.
|
|
||||||
*/
|
|
||||||
if (!dptr && list->next != list->prev)
|
|
||||||
dptr = &driver_list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hctx->dispatched[queued_to_index(queued)]++;
|
hctx->dispatched[queued_to_index(queued)]++;
|
||||||
|
@ -1451,7 +1435,6 @@ static void __blk_mq_try_issue_directly(struct request *rq, blk_qc_t *cookie,
|
||||||
struct request_queue *q = rq->q;
|
struct request_queue *q = rq->q;
|
||||||
struct blk_mq_queue_data bd = {
|
struct blk_mq_queue_data bd = {
|
||||||
.rq = rq,
|
.rq = rq,
|
||||||
.list = NULL,
|
|
||||||
.last = 1
|
.last = 1
|
||||||
};
|
};
|
||||||
struct blk_mq_hw_ctx *hctx;
|
struct blk_mq_hw_ctx *hctx;
|
||||||
|
|
|
@ -81,7 +81,6 @@ struct blk_mq_tag_set {
|
||||||
|
|
||||||
struct blk_mq_queue_data {
|
struct blk_mq_queue_data {
|
||||||
struct request *rq;
|
struct request *rq;
|
||||||
struct list_head *list;
|
|
||||||
bool last;
|
bool last;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue