mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-20 12:54:36 +08:00
blk-mq: remove unncessary from_schedule parameter in blk_mq_plug_issue_direct
Function blk_mq_plug_issue_direct tries to issue batch requests in plug list to driver directly. We will only issue plug request to driver if we are not from scheduler, so from_scheduler parameter of blk_mq_plug_issue_direct is always false. Remove unncessary from_scheduler of blk_mq_plug_issue_direct. Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
08e3599e74
commit
3e368fb023
@ -2688,7 +2688,7 @@ static blk_status_t blk_mq_request_issue_directly(struct request *rq, bool last)
|
|||||||
return __blk_mq_try_issue_directly(rq->mq_hctx, rq, true, last);
|
return __blk_mq_try_issue_directly(rq->mq_hctx, rq, true, last);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void blk_mq_plug_issue_direct(struct blk_plug *plug, bool from_schedule)
|
static void blk_mq_plug_issue_direct(struct blk_plug *plug)
|
||||||
{
|
{
|
||||||
struct blk_mq_hw_ctx *hctx = NULL;
|
struct blk_mq_hw_ctx *hctx = NULL;
|
||||||
struct request *rq;
|
struct request *rq;
|
||||||
@ -2701,7 +2701,7 @@ static void blk_mq_plug_issue_direct(struct blk_plug *plug, bool from_schedule)
|
|||||||
|
|
||||||
if (hctx != rq->mq_hctx) {
|
if (hctx != rq->mq_hctx) {
|
||||||
if (hctx)
|
if (hctx)
|
||||||
blk_mq_commit_rqs(hctx, &queued, from_schedule);
|
blk_mq_commit_rqs(hctx, &queued, false);
|
||||||
hctx = rq->mq_hctx;
|
hctx = rq->mq_hctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2713,7 +2713,7 @@ static void blk_mq_plug_issue_direct(struct blk_plug *plug, bool from_schedule)
|
|||||||
case BLK_STS_RESOURCE:
|
case BLK_STS_RESOURCE:
|
||||||
case BLK_STS_DEV_RESOURCE:
|
case BLK_STS_DEV_RESOURCE:
|
||||||
blk_mq_request_bypass_insert(rq, false, true);
|
blk_mq_request_bypass_insert(rq, false, true);
|
||||||
blk_mq_commit_rqs(hctx, &queued, from_schedule);
|
blk_mq_commit_rqs(hctx, &queued, false);
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
blk_mq_end_request(rq, ret);
|
blk_mq_end_request(rq, ret);
|
||||||
@ -2727,7 +2727,7 @@ static void blk_mq_plug_issue_direct(struct blk_plug *plug, bool from_schedule)
|
|||||||
* there was more coming, but that turned out to be a lie.
|
* there was more coming, but that turned out to be a lie.
|
||||||
*/
|
*/
|
||||||
if (errors)
|
if (errors)
|
||||||
blk_mq_commit_rqs(hctx, &queued, from_schedule);
|
blk_mq_commit_rqs(hctx, &queued, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __blk_mq_flush_plug_list(struct request_queue *q,
|
static void __blk_mq_flush_plug_list(struct request_queue *q,
|
||||||
@ -2798,7 +2798,7 @@ void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
|
|||||||
}
|
}
|
||||||
|
|
||||||
blk_mq_run_dispatch_ops(q,
|
blk_mq_run_dispatch_ops(q,
|
||||||
blk_mq_plug_issue_direct(plug, false));
|
blk_mq_plug_issue_direct(plug));
|
||||||
if (rq_list_empty(plug->mq_list))
|
if (rq_list_empty(plug->mq_list))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user