nvme: remove IPI completions blk-mq-nvme
authorJens Axboe <axboe@fb.com>
Tue, 27 May 2014 23:49:54 +0000 (17:49 -0600)
committerJens Axboe <axboe@fb.com>
Thu, 29 May 2014 15:54:27 +0000 (09:54 -0600)
We should have enough completion ports to place completions
where they need to be, so lets remove the ->complete() part
of mq_ops so that we avoid that indirection function call on
completions.

This could potentially be made conditional on the number of queues.

Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/nvme-core.c

index e4ca66d52c3640fdc7c348454a62fd3afc39a83c..04825345357a174700d453bd899859cac2d35e03 100644 (file)
@@ -1465,15 +1465,9 @@ static int nvme_shutdown_ctrl(struct nvme_dev *dev)
        return 0;
 }
 
-static void nvme_req_complete(struct request *req)
-{
-       blk_mq_end_io(req, req->errors);
-}
-
 static struct blk_mq_ops nvme_mq_admin_ops = {
        .queue_rq       = nvme_queue_request,
        .map_queue      = blk_mq_map_queue,
-       .complete       = nvme_req_complete,
        .init_hctx      = nvme_init_admin_hctx,
        .init_request   = nvme_init_admin_request,
        .timeout        = nvme_timeout,
@@ -1482,7 +1476,6 @@ static struct blk_mq_ops nvme_mq_admin_ops = {
 static struct blk_mq_ops nvme_mq_ops = {
        .queue_rq       = nvme_queue_request,
        .map_queue      = blk_mq_map_queue,
-       .complete       = nvme_req_complete,
        .init_hctx      = nvme_init_hctx,
        .init_request   = nvme_init_request,
        .timeout        = nvme_timeout,