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 <redacted>
---
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
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme