Messages in this thread | | | Date | Tue, 10 Jun 2014 19:45:47 +0800 | Subject | Re: [PATCH] blk-mq: kick requeue list in blk_mq_requeue_request() | From | Ming Lei <> |
| |
On Tue, Jun 10, 2014 at 7:28 PM, Christoph Hellwig <hch@lst.de> wrote: > On Tue, Jun 10, 2014 at 12:52:05PM +0800, Ming Lei wrote: >> blk_mq_requeue_request() should kick off the requeue list so >> that the request can be scheduled to queue finally. >> >> In nvme conversion patch, blk_mq_requeue_request() is called >> to requeue failed request from completion handler, this patch >> fixes the issue and makes the block API working as expected. > > I've intentionally kepts the two separate so that we can batch operations > and just do a single kick for multiple requeued commands. >
OK, but the API name is a bit confusing, and that is easy to cause misuse, like in nvme.
Also requeue one request in completion handler may be a common case, so maybe it is better to let blk_mq_requeue_request() handle both adding to request list and kicking off, and introduce blk_mq_prep_requeue_req()(or better name) to batch operations.
Thanks, -- Ming Lei
| |