nvme/rdma: convert rqpair free_reqs to a TAILQ
Future patches will need to remove elements from the middle of the list, so a singly-linked list won't be efficient. Change-Id: Idad5df3aea08d58fef2e19770509363441f757c7 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/414881 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
ce2e68289b
commit
bc165a2664
@ -111,7 +111,7 @@ struct nvme_rdma_qpair {
|
||||
|
||||
struct spdk_nvme_rdma_mr_map *mr_map;
|
||||
|
||||
STAILQ_HEAD(, spdk_nvme_rdma_req) free_reqs;
|
||||
TAILQ_HEAD(, spdk_nvme_rdma_req) free_reqs;
|
||||
};
|
||||
|
||||
struct spdk_nvme_rdma_req {
|
||||
@ -123,7 +123,7 @@ struct spdk_nvme_rdma_req {
|
||||
|
||||
struct ibv_sge send_sgl;
|
||||
|
||||
STAILQ_ENTRY(spdk_nvme_rdma_req) link;
|
||||
TAILQ_ENTRY(spdk_nvme_rdma_req) link;
|
||||
};
|
||||
|
||||
static const char *rdma_cm_event_str[] = {
|
||||
@ -169,9 +169,9 @@ nvme_rdma_req_get(struct nvme_rdma_qpair *rqpair)
|
||||
{
|
||||
struct spdk_nvme_rdma_req *rdma_req;
|
||||
|
||||
rdma_req = STAILQ_FIRST(&rqpair->free_reqs);
|
||||
rdma_req = TAILQ_FIRST(&rqpair->free_reqs);
|
||||
if (rdma_req) {
|
||||
STAILQ_REMOVE_HEAD(&rqpair->free_reqs, link);
|
||||
TAILQ_REMOVE(&rqpair->free_reqs, rdma_req, link);
|
||||
}
|
||||
|
||||
return rdma_req;
|
||||
@ -180,7 +180,7 @@ nvme_rdma_req_get(struct nvme_rdma_qpair *rqpair)
|
||||
static void
|
||||
nvme_rdma_req_put(struct nvme_rdma_qpair *rqpair, struct spdk_nvme_rdma_req *rdma_req)
|
||||
{
|
||||
STAILQ_INSERT_HEAD(&rqpair->free_reqs, rdma_req, link);
|
||||
TAILQ_INSERT_HEAD(&rqpair->free_reqs, rdma_req, link);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -400,7 +400,7 @@ nvme_rdma_alloc_reqs(struct nvme_rdma_qpair *rqpair)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
STAILQ_INIT(&rqpair->free_reqs);
|
||||
TAILQ_INIT(&rqpair->free_reqs);
|
||||
for (i = 0; i < rqpair->num_entries; i++) {
|
||||
struct spdk_nvme_rdma_req *rdma_req;
|
||||
struct spdk_nvme_cmd *cmd;
|
||||
@ -422,7 +422,7 @@ nvme_rdma_alloc_reqs(struct nvme_rdma_qpair *rqpair)
|
||||
rdma_req->send_wr.num_sge = 1;
|
||||
rdma_req->send_wr.imm_data = 0;
|
||||
|
||||
STAILQ_INSERT_TAIL(&rqpair->free_reqs, rdma_req, link);
|
||||
TAILQ_INSERT_TAIL(&rqpair->free_reqs, rdma_req, link);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user