Commit 30560979 authored by Jim Harris's avatar Jim Harris
Browse files

nvme/pcie: drop nvme_qpair_free_request



Just use nvme_free_request instead at the single call site.
This will be optimized further in later patches.

Note that this results in getting the qpair from the req
instead of the tracker, which touches a cacheline
unnecessarily. This will be re-optimized again later in
this patch series.

Signed-off-by: default avatarJim Harris <jim.harris@samsung.com>
Change-Id: Ic1952c574101d8f2940be7323f3c95daa9e8da80
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20646


Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarMichael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: default avatarDeepak Abraham Tom <deepak-abraham.tom@hpe.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent ac5578ed
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -1410,18 +1410,6 @@ nvme_qpair_get_state(struct spdk_nvme_qpair *qpair) {
	return qpair->state;
}

static inline void
nvme_qpair_free_request(struct spdk_nvme_qpair *qpair, struct nvme_request *req)
{
	assert(req != NULL);
	assert(req->num_children == 0);

	STAILQ_INSERT_HEAD(&qpair->free_req, req, stailq);

	assert(req->qpair->num_outstanding_reqs > 0);
	req->qpair->num_outstanding_reqs--;
}

static inline void
nvme_request_remove_child(struct nvme_request *parent, struct nvme_request *child)
{
+1 −1
Original line number Diff line number Diff line
@@ -707,7 +707,7 @@ nvme_pcie_qpair_complete_tracker(struct spdk_nvme_qpair *qpair, struct nvme_trac
			nvme_pcie_qpair_insert_pending_admin_request(qpair, req, cpl);
		} else {
			nvme_complete_request(tr->cb_fn, tr->cb_arg, qpair, req, cpl);
			nvme_qpair_free_request(qpair, req);
			nvme_free_request(req);
		}

		tr->req = NULL;