mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 09:00:52 +07:00
blk-mq: use blk_mq_start_hw_queues() when running requeue work
When requests are retried due to hw or sw resource shortages, we often stop the associated hardware queue. So ensure that we restart the queues when running the requeue work, otherwise the queue run will be a no-op. Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
6b55e1f2d0
commit
8b95741569
@ -479,7 +479,11 @@ static void blk_mq_requeue_work(struct work_struct *work)
|
|||||||
blk_mq_insert_request(rq, false, false, false);
|
blk_mq_insert_request(rq, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
blk_mq_run_queues(q, false);
|
/*
|
||||||
|
* Use the start variant of queue running here, so that running
|
||||||
|
* the requeue work will kick stopped queues.
|
||||||
|
*/
|
||||||
|
blk_mq_start_hw_queues(q);
|
||||||
}
|
}
|
||||||
|
|
||||||
void blk_mq_add_to_requeue_list(struct request *rq, bool at_head)
|
void blk_mq_add_to_requeue_list(struct request *rq, bool at_head)
|
||||||
|
Loading…
Reference in New Issue
Block a user