nvme: mv submit_tick assignments to generic qpair code

Move req->submit_tick assignments from specific transports to generic
qpair code.

Check whether submit_tick has been assigned before doing the actual
assignment, because a request may be submitted several times and the
original submit_tick shouldn't be covered.

Change-Id: I2de8018dc21763eb5a19bb9d48dfbdef764b036e
Signed-off-by: lorneli <lorneli@163.com>
Reviewed-on: https://review.gerrithub.io/c/444702
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
lorneli 2019-02-12 21:13:19 +08:00 committed by Jim Harris
parent 0d5cbbed16
commit 815f82b17b
4 changed files with 10 additions and 20 deletions

View File

@ -1176,12 +1176,6 @@ nvme_pcie_qpair_submit_tracker(struct spdk_nvme_qpair *qpair, struct nvme_tracke
req = tr->req;
assert(req != NULL);
req->timed_out = false;
if (spdk_unlikely(pctrlr->ctrlr.timeout_enabled)) {
req->submit_tick = spdk_get_ticks();
} else {
req->submit_tick = 0;
}
pqpair->tr[tr->cid].active = true;

View File

@ -541,6 +541,16 @@ nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *re
}
}
/* assign submit_tick before submitting req to specific transport */
if (spdk_unlikely(ctrlr->timeout_enabled)) {
if (req->submit_tick == 0) { /* req submitted for the first time */
req->submit_tick = spdk_get_ticks();
req->timed_out = false;
}
} else {
req->submit_tick = 0;
}
return nvme_transport_qpair_submit_request(qpair, req);
}

View File

@ -1534,13 +1534,6 @@ nvme_rdma_qpair_submit_request(struct spdk_nvme_qpair *qpair,
return -1;
}
req->timed_out = false;
if (spdk_unlikely(rqpair->qpair.ctrlr->timeout_enabled)) {
req->submit_tick = spdk_get_ticks();
} else {
req->submit_tick = 0;
}
wr = &rdma_req->send_wr;
nvme_rdma_trace_ibv_sge(wr->sg_list);

View File

@ -706,13 +706,6 @@ nvme_tcp_qpair_submit_request(struct spdk_nvme_qpair *qpair,
return -1;
}
req->timed_out = false;
if (spdk_unlikely(tqpair->qpair.ctrlr->timeout_enabled)) {
req->submit_tick = spdk_get_ticks();
} else {
req->submit_tick = 0;
}
return nvme_tcp_qpair_capsule_cmd_send(tqpair, tcp_req);
}