Commit 3bec6601 authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

nvmf/rdma: Simplify spdk_nvmf_rdma_qp_drained



No longer send an event to process the pending queue -
just do it inline.

Change-Id: I32716c9ecac3791de297c2a48529c15d220dbe6c
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/421044


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarSeth Howell <seth.howell5141@gmail.com>
parent 65a512c6
Loading
Loading
Loading
Loading
+5 −17
Original line number Diff line number Diff line
@@ -1902,22 +1902,6 @@ spdk_nvmf_rdma_qpair_process_pending(struct spdk_nvmf_rdma_transport *rtransport
	}
}

/* The recovery completion event handler to be executed in the rqpair
 * poll group thread. It kicks off processing of the requests that are
 * waiting for the rqpair is back online.
 */
static void
_spdk_nvmf_rdma_qpair_process_pending(void *arg)
{
	struct spdk_nvmf_rdma_qpair *rqpair;
	struct spdk_nvmf_rdma_transport *rtransport;

	rqpair = arg;
	rtransport = SPDK_CONTAINEROF(rqpair->qpair.transport,
				      struct spdk_nvmf_rdma_transport, transport);
	spdk_nvmf_rdma_qpair_process_pending(rtransport, rqpair);
}

static void
spdk_nvmf_rdma_drain_state_queue(struct spdk_nvmf_rdma_qpair *rqpair,
				 enum spdk_nvmf_rdma_request_state state)
@@ -1938,6 +1922,7 @@ spdk_nvmf_rdma_qp_drained(struct spdk_nvmf_rdma_qpair *rqpair)
{
	int recovered;
	enum ibv_qp_state state, next_state;
	struct spdk_nvmf_rdma_transport *rtransport;

	SPDK_NOTICELOG("IBV QP#%u drained\n", rqpair->qpair.qid);

@@ -2009,7 +1994,10 @@ spdk_nvmf_rdma_qp_drained(struct spdk_nvmf_rdma_qpair *rqpair)
		state = next_state;
	}
	rqpair->qpair.state = SPDK_NVMF_QPAIR_ACTIVE;
	spdk_thread_send_msg(rqpair->qpair.group->thread, _spdk_nvmf_rdma_qpair_process_pending, rqpair);

	rtransport = SPDK_CONTAINEROF(rqpair->qpair.transport,
				      struct spdk_nvmf_rdma_transport, transport);
	spdk_nvmf_rdma_qpair_process_pending(rtransport, rqpair);

	return;
error: