nvme/tcp: add trace points for cmd submit/complete
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iad56e7a96cf0210bcf54825c8bcc39af9366b72c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13992 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jacek Kalwas <jacek.kalwas@intel.com>
This commit is contained in:
parent
9396cb9a94
commit
a6b7e1839d
@ -11,6 +11,7 @@
|
||||
#define OWNER_ISCSI_CONN 0x1
|
||||
#define OWNER_BDEV 0x2
|
||||
#define OWNER_NVME_PCIE_QP 0x3
|
||||
#define OWNER_NVME_TCP_QP 0x4
|
||||
#define OWNER_SCSI_DEV 0x10
|
||||
#define OWNER_FTL 0x20
|
||||
#define OWNER_NVMF_TCP 0x30
|
||||
@ -19,6 +20,7 @@
|
||||
#define OBJECT_ISCSI_PDU 0x1
|
||||
#define OBJECT_BDEV_IO 0x2
|
||||
#define OBJECT_NVME_PCIE_REQ 0x3
|
||||
#define OBJECT_NVME_TCP_REQ 0x4
|
||||
#define OBJECT_SCSI_TASK 0x10
|
||||
#define OBJECT_NVMF_RDMA_IO 0x40
|
||||
#define OBJECT_NVMF_TCP_IO 0x80
|
||||
@ -37,6 +39,7 @@
|
||||
#define TRACE_GROUP_THREAD 0xA
|
||||
#define TRACE_GROUP_NVME_PCIE 0xB
|
||||
#define TRACE_GROUP_ACCEL_IAA 0xC
|
||||
#define TRACE_GROUP_NVME_TCP 0xD
|
||||
|
||||
/* Bdev tracepoint definitions */
|
||||
#define TRACE_BDEV_IO_START SPDK_TPOINT_ID(TRACE_GROUP_BDEV, 0x0)
|
||||
@ -144,4 +147,8 @@
|
||||
#define TRACE_ACCEL_IAA_OP_SUBMIT SPDK_TPOINT_ID(TRACE_GROUP_ACCEL_IAA, 0x0)
|
||||
#define TRACE_ACCEL_IAA_OP_COMPLETE SPDK_TPOINT_ID(TRACE_GROUP_ACCEL_IAA, 0x1)
|
||||
|
||||
/* NVMe TCP tracepoint definitions */
|
||||
#define TRACE_NVME_TCP_SUBMIT SPDK_TPOINT_ID(TRACE_GROUP_NVME_TCP, 0x0)
|
||||
#define TRACE_NVME_TCP_COMPLETE SPDK_TPOINT_ID(TRACE_GROUP_NVME_TCP, 0x1)
|
||||
|
||||
#endif /* SPDK_INTERNAL_TRACE_DEFS */
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "spdk/util.h"
|
||||
|
||||
#include "spdk_internal/nvme_tcp.h"
|
||||
#include "spdk_internal/trace_defs.h"
|
||||
|
||||
#define NVME_TCP_RW_BUFFER_SIZE 131072
|
||||
#define NVME_TCP_TIME_OUT_IN_SECONDS 2
|
||||
@ -730,6 +731,9 @@ nvme_tcp_qpair_submit_request(struct spdk_nvme_qpair *qpair,
|
||||
return -1;
|
||||
}
|
||||
|
||||
spdk_trace_record(TRACE_NVME_TCP_SUBMIT, qpair->id, 0, (uintptr_t)req,
|
||||
(uint32_t)req->cmd.cid, (uint32_t)req->cmd.opc,
|
||||
req->cmd.cdw10, req->cmd.cdw11, req->cmd.cdw12);
|
||||
TAILQ_INSERT_TAIL(&tqpair->outstanding_reqs, tcp_req, link);
|
||||
return nvme_tcp_qpair_capsule_cmd_send(tqpair, tcp_req);
|
||||
}
|
||||
@ -773,6 +777,8 @@ nvme_tcp_req_complete(struct nvme_tcp_req *tcp_req,
|
||||
spdk_nvme_qpair_print_completion(qpair, rsp);
|
||||
}
|
||||
|
||||
spdk_trace_record(TRACE_NVME_TCP_COMPLETE, qpair->id, 0, (uintptr_t)req,
|
||||
(uint32_t)req->cmd.cid, (uint32_t)cpl.status_raw);
|
||||
TAILQ_REMOVE(&tcp_req->tqpair->outstanding_reqs, tcp_req, link);
|
||||
nvme_tcp_req_put(tqpair, tcp_req);
|
||||
nvme_free_request(req);
|
||||
@ -2456,3 +2462,30 @@ const struct spdk_nvme_transport_ops tcp_ops = {
|
||||
};
|
||||
|
||||
SPDK_NVME_TRANSPORT_REGISTER(tcp, &tcp_ops);
|
||||
|
||||
SPDK_TRACE_REGISTER_FN(nvme_tcp, "nvme_tcp", TRACE_GROUP_NVME_TCP)
|
||||
{
|
||||
struct spdk_trace_tpoint_opts opts[] = {
|
||||
{
|
||||
"NVME_TCP_SUBMIT", TRACE_NVME_TCP_SUBMIT,
|
||||
OWNER_NVME_TCP_QP, OBJECT_NVME_TCP_REQ, 1,
|
||||
{ { "cid", SPDK_TRACE_ARG_TYPE_INT, 4 },
|
||||
{ "opc", SPDK_TRACE_ARG_TYPE_INT, 4 },
|
||||
{ "dw10", SPDK_TRACE_ARG_TYPE_PTR, 4 },
|
||||
{ "dw11", SPDK_TRACE_ARG_TYPE_PTR, 4 },
|
||||
{ "dw12", SPDK_TRACE_ARG_TYPE_PTR, 4 }
|
||||
}
|
||||
},
|
||||
{
|
||||
"NVME_TCP_COMPLETE", TRACE_NVME_TCP_COMPLETE,
|
||||
OWNER_NVME_TCP_QP, OBJECT_NVME_TCP_REQ, 0,
|
||||
{ { "cid", SPDK_TRACE_ARG_TYPE_INT, 4 },
|
||||
{ "cpl", SPDK_TRACE_ARG_TYPE_PTR, 4 }
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
spdk_trace_register_object(OBJECT_NVME_TCP_REQ, 'p');
|
||||
spdk_trace_register_owner(OWNER_NVME_TCP_QP, 'q');
|
||||
spdk_trace_register_description_ext(opts, SPDK_COUNTOF(opts));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user