From b86bb376ff899fd2d9059261166235ef7c1eb811 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Thu, 23 Aug 2018 16:04:26 -0700 Subject: [PATCH] nvmf/rdma: Avoid queryng the qp state as much as possible This call results in a syscall that should be avoided. We can often use our cached value instead. Change-Id: I11b5c5457ac2f68bfd46877d3bbc077a50dc9acb Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/423409 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Seth Howell Reviewed-by: Philipp Skadorov Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu Reviewed-by: Jim Harris --- lib/nvmf/rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 9150db3c0..dff70b8fb 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -1991,7 +1991,7 @@ spdk_nvmf_rdma_qpair_recover(struct spdk_nvmf_rdma_qpair *rqpair) return; } - state = spdk_nvmf_rdma_update_ibv_state(rqpair); + state = rqpair->ibv_attr.qp_state; next_state = state; SPDK_NOTICELOG("RDMA qpair %u is in state: %s\n", @@ -2081,7 +2081,7 @@ _spdk_nvmf_rdma_qp_error(void *arg) struct spdk_nvmf_rdma_qpair *rqpair = arg; enum ibv_qp_state state; - state = spdk_nvmf_rdma_update_ibv_state(rqpair); + state = rqpair->ibv_attr.qp_state; if (state != IBV_QPS_ERR) { /* Error was already recovered */ return;