aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2014-11-17 12:43:42 -0500
committerJens Axboe <axboe@fb.com>2014-11-17 12:43:42 -0500
commit9d135bb8c2a0d2e54b84ebc1b7d41852614fead8 (patch)
tree75b9f750cd85b461a490631cf10d7b1c70904c8e
parent8d76d1015d86f2b66c872fbcaf46072228d757a5 (diff)
NVMe: replace blk_put_request() with blk_mq_free_request()
No point in using blk_put_request(), since we know we are blk-mq. This only makes sense in core code where we could be dealing with either legacy or blk-mq drivers. Additionally, use blk_mq_free_hctx_request() for the request completion fast path, where we already know the mapping from request to hardware queue. Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--drivers/block/nvme-core.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
index 8393f91b2721..bbac17f29fe7 100644
--- a/drivers/block/nvme-core.c
+++ b/drivers/block/nvme-core.c
@@ -262,7 +262,7 @@ static void async_req_completion(struct nvme_queue *nvmeq, void *ctx,
262 dev_warn(nvmeq->q_dmadev, 262 dev_warn(nvmeq->q_dmadev,
263 "async event result %08x\n", result); 263 "async event result %08x\n", result);
264 264
265 blk_put_request(req); 265 blk_mq_free_hctx_request(nvmeq->hctx, req);
266} 266}
267 267
268static void abort_completion(struct nvme_queue *nvmeq, void *ctx, 268static void abort_completion(struct nvme_queue *nvmeq, void *ctx,
@@ -273,7 +273,7 @@ static void abort_completion(struct nvme_queue *nvmeq, void *ctx,
273 u16 status = le16_to_cpup(&cqe->status) >> 1; 273 u16 status = le16_to_cpup(&cqe->status) >> 1;
274 u32 result = le32_to_cpup(&cqe->result); 274 u32 result = le32_to_cpup(&cqe->result);
275 275
276 blk_put_request(req); 276 blk_mq_free_hctx_request(nvmeq->hctx, req);
277 277
278 dev_warn(nvmeq->q_dmadev, "Abort status:%x result:%x", status, result); 278 dev_warn(nvmeq->q_dmadev, "Abort status:%x result:%x", status, result);
279 ++nvmeq->dev->abort_limit; 279 ++nvmeq->dev->abort_limit;
@@ -286,7 +286,7 @@ static void async_completion(struct nvme_queue *nvmeq, void *ctx,
286 cmdinfo->result = le32_to_cpup(&cqe->result); 286 cmdinfo->result = le32_to_cpup(&cqe->result);
287 cmdinfo->status = le16_to_cpup(&cqe->status) >> 1; 287 cmdinfo->status = le16_to_cpup(&cqe->status) >> 1;
288 queue_kthread_work(cmdinfo->worker, &cmdinfo->work); 288 queue_kthread_work(cmdinfo->worker, &cmdinfo->work);
289 blk_put_request(cmdinfo->req); 289 blk_mq_free_hctx_request(nvmeq->hctx, cmdinfo->req);
290} 290}
291 291
292static inline struct nvme_cmd_info *get_cmd_from_tag(struct nvme_queue *nvmeq, 292static inline struct nvme_cmd_info *get_cmd_from_tag(struct nvme_queue *nvmeq,
@@ -872,7 +872,7 @@ static int __nvme_submit_admin_cmd(struct nvme_dev *dev, struct nvme_command *cm
872 if (!req) 872 if (!req)
873 return -ENOMEM; 873 return -ENOMEM;
874 res = nvme_submit_sync_cmd(req, cmd, result, timeout); 874 res = nvme_submit_sync_cmd(req, cmd, result, timeout);
875 blk_put_request(req); 875 blk_mq_free_request(req);
876 return res; 876 return res;
877} 877}
878 878
@@ -893,7 +893,7 @@ int nvme_submit_io_cmd(struct nvme_dev *dev, struct nvme_ns *ns,
893 if (!req) 893 if (!req)
894 return -ENOMEM; 894 return -ENOMEM;
895 res = nvme_submit_sync_cmd(req, cmd, result, NVME_IO_TIMEOUT); 895 res = nvme_submit_sync_cmd(req, cmd, result, NVME_IO_TIMEOUT);
896 blk_put_request(req); 896 blk_mq_free_request(req);
897 return res; 897 return res;
898} 898}
899 899
@@ -1047,7 +1047,7 @@ static void nvme_abort_req(struct request *req)
1047 dev_warn(nvmeq->q_dmadev, 1047 dev_warn(nvmeq->q_dmadev,
1048 "Could not abort I/O %d QID %d", 1048 "Could not abort I/O %d QID %d",
1049 req->tag, nvmeq->qid); 1049 req->tag, nvmeq->qid);
1050 blk_put_request(req); 1050 blk_mq_free_request(req);
1051 } 1051 }
1052} 1052}
1053 1053
@@ -1688,7 +1688,7 @@ static int nvme_user_cmd(struct nvme_dev *dev, struct nvme_ns *ns,
1688 else { 1688 else {
1689 status = nvme_submit_sync_cmd(req, &c, &cmd.result, 1689 status = nvme_submit_sync_cmd(req, &c, &cmd.result,
1690 timeout); 1690 timeout);
1691 blk_put_request(req); 1691 blk_mq_free_request(req);
1692 } 1692 }
1693 } else 1693 } else
1694 status = __nvme_submit_admin_cmd(dev, &c, &cmd.result, timeout); 1694 status = __nvme_submit_admin_cmd(dev, &c, &cmd.result, timeout);