[PATCH 11/14] nvme-core: use likely in nvme_init_request()
Chaitanya Kulkarni
chaitanya.kulkarni at wdc.com
Tue Feb 16 19:10:29 EST 2021
For NVMeOF Target passthru backend we allocate the passthru request with
nvme_alloc_request(). The functions :-
nvmet_passthru_execute_cmd()
nvme_alloc_request()
nvme_init_request()
are in the fast path for I/O commands.
In nvme_init_request() we set the timeout based on the
req->q->queuedata check & that is always true for the I/O commands
coming from the passthru backend which are high frequency commands.
Annotate req->q->queuedata with likely() in nvme_init_request().
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni at wdc.com>
---
drivers/nvme/host/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 139cbeb11c7d..a0d0c3a5abff 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -652,7 +652,7 @@ static inline unsigned int nvme_req_op(struct nvme_command *cmd)
static inline void nvme_init_request(struct request *req,
struct nvme_command *cmd)
{
- if (req->q->queuedata)
+ if (likely(req->q->queuedata))
req->timeout = NVME_IO_TIMEOUT;
else /* no queuedata implies admin queue */
req->timeout = NVME_ADMIN_TIMEOUT;
--
2.22.1
More information about the Linux-nvme
mailing list