xref: /spdk/include/spdk_internal/trace_defs.h (revision 83ba9086796471697a4975a58f60e2392bccd08c)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (C) 2021 Intel Corporation. All rights reserved.
3  *   Copyright (c) 2019 Mellanox Technologies LTD. All rights reserved.
4  *   Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5  */
6 
7 #ifndef SPDK_INTERNAL_TRACE_DEFS
8 #define SPDK_INTERNAL_TRACE_DEFS
9 
10 /* Owner definitions */
11 #define OWNER_TYPE_ISCSI_CONN	0x1
12 #define OWNER_TYPE_BDEV		0x2
13 #define OWNER_TYPE_NVME_PCIE_QP	0x3
14 #define OWNER_TYPE_NVME_TCP_QP	0x4
15 #define OWNER_TYPE_SOCK		0x5
16 #define OWNER_TYPE_REACTOR	0x6
17 #define OWNER_TYPE_THREAD	0x7
18 #define OWNER_TYPE_SCSI_DEV	0x10
19 #define OWNER_TYPE_FTL		0x20
20 #define OWNER_TYPE_NVMF_TCP	0x30
21 
22 /* Object definitions */
23 #define OBJECT_ISCSI_PDU	0x1
24 #define OBJECT_BDEV_IO		0x2
25 #define OBJECT_NVME_PCIE_REQ	0x3
26 #define OBJECT_NVME_TCP_REQ	0x4
27 #define OBJECT_BDEV_NVME_IO	0x5
28 #define OBJECT_SOCK_REQ		0x6
29 #define OBJECT_SCSI_TASK	0x10
30 #define OBJECT_NVMF_RDMA_IO	0x40
31 #define OBJECT_NVMF_TCP_IO	0x80
32 #define OBJECT_NVMF_FC_IO	0xA0
33 #define OBJECT_BLOB_CB_ARG      0xB0
34 #define OBJECT_BDEV_RAID_IO     0xC0
35 
36 /* Trace group definitions */
37 #define TRACE_GROUP_ISCSI	0x1
38 #define TRACE_GROUP_SCSI	0x2
39 #define TRACE_GROUP_BDEV	0x3
40 #define TRACE_GROUP_NVMF_RDMA	0x4
41 #define TRACE_GROUP_NVMF_TCP	0x5
42 #define TRACE_GROUP_FTL		0x6
43 #define TRACE_GROUP_BLOBFS	0x7
44 #define TRACE_GROUP_NVMF_FC	0x8
45 #define TRACE_GROUP_ACCEL_DSA	0x9
46 #define TRACE_GROUP_THREAD	0xA
47 #define TRACE_GROUP_NVME_PCIE	0xB
48 #define TRACE_GROUP_ACCEL_IAA	0xC
49 #define TRACE_GROUP_NVME_TCP	0xD
50 #define TRACE_GROUP_BDEV_NVME	0xE
51 #define TRACE_GROUP_SOCK	0xF
52 #define TRACE_GROUP_BLOB	0x10
53 #define TRACE_GROUP_BDEV_RAID	0x11
54 #define TRACE_GROUP_SCHEDULER	0x12
55 
56 /* Bdev tracepoint definitions */
57 #define TRACE_BDEV_IO_START		SPDK_TPOINT_ID(TRACE_GROUP_BDEV, 0x0)
58 #define TRACE_BDEV_IO_DONE		SPDK_TPOINT_ID(TRACE_GROUP_BDEV, 0x1)
59 #define TRACE_BDEV_IOCH_CREATE		SPDK_TPOINT_ID(TRACE_GROUP_BDEV, 0x2)
60 #define TRACE_BDEV_IOCH_DESTROY		SPDK_TPOINT_ID(TRACE_GROUP_BDEV, 0x3)
61 
62 /* NVMe-of TCP tracepoint  definitions */
63 #define TRACE_TCP_REQUEST_STATE_NEW				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x00)
64 #define TRACE_TCP_REQUEST_STATE_NEED_BUFFER			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x01)
65 #define TRACE_TCP_REQUEST_STATE_HAVE_BUFFER			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x02)
66 #define TRACE_TCP_REQUEST_STATE_AWAIT_ZCOPY_START		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x03)
67 #define TRACE_TCP_REQUEST_STATE_ZCOPY_START_COMPLETED		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x04)
68 #define TRACE_TCP_REQUEST_STATE_TRANSFERRING_HOST_TO_CONTROLLER	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x05)
69 #define TRACE_TCP_REQUEST_STATE_READY_TO_EXECUTE		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x06)
70 #define TRACE_TCP_REQUEST_STATE_EXECUTING			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x07)
71 #define TRACE_TCP_REQUEST_STATE_AWAIT_ZCOPY_COMMIT		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x08)
72 #define TRACE_TCP_REQUEST_STATE_EXECUTED			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x09)
73 #define TRACE_TCP_REQUEST_STATE_READY_TO_COMPLETE		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x0a)
74 #define TRACE_TCP_REQUEST_STATE_TRANSFERRING_CONTROLLER_TO_HOST	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x0b)
75 #define TRACE_TCP_REQUEST_STATE_AWAIT_ZCOPY_RELEASE		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x0c)
76 #define TRACE_TCP_REQUEST_STATE_COMPLETED			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x0d)
77 #define TRACE_TCP_READ_FROM_SOCKET_DONE				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x0f)
78 #define TRACE_TCP_REQUEST_STATE_AWAIT_R2T_ACK			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x10)
79 #define TRACE_TCP_QP_CREATE					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x11)
80 #define TRACE_TCP_QP_SOCK_INIT					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x12)
81 #define TRACE_TCP_QP_STATE_CHANGE				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x13)
82 #define TRACE_TCP_QP_DISCONNECT					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x14)
83 #define TRACE_TCP_QP_DESTROY					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x15)
84 #define TRACE_TCP_QP_ABORT_REQ					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x16)
85 #define TRACE_TCP_QP_RCV_STATE_CHANGE				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_TCP, 0x17)
86 
87 /* NVMe-of RDMA tracepoint definitions */
88 #define TRACE_RDMA_REQUEST_STATE_NEW					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x0)
89 #define TRACE_RDMA_REQUEST_STATE_NEED_BUFFER				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x1)
90 #define TRACE_RDMA_REQUEST_STATE_DATA_TRANSFER_TO_CONTROLLER_PENDING	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x2)
91 #define TRACE_RDMA_REQUEST_STATE_TRANSFERRING_HOST_TO_CONTROLLER	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x3)
92 #define TRACE_RDMA_REQUEST_STATE_READY_TO_EXECUTE			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x4)
93 #define TRACE_RDMA_REQUEST_STATE_EXECUTING				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x5)
94 #define TRACE_RDMA_REQUEST_STATE_EXECUTED				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x6)
95 #define TRACE_RDMA_REQUEST_STATE_DATA_TRANSFER_TO_HOST_PENDING		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x7)
96 #define TRACE_RDMA_REQUEST_STATE_READY_TO_COMPLETE			SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x8)
97 #define TRACE_RDMA_REQUEST_STATE_TRANSFERRING_CONTROLLER_TO_HOST	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x9)
98 #define TRACE_RDMA_REQUEST_STATE_COMPLETING				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0xA)
99 #define TRACE_RDMA_REQUEST_STATE_COMPLETED				SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0xB)
100 #define TRACE_RDMA_QP_CREATE						SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0xC)
101 #define TRACE_RDMA_IBV_ASYNC_EVENT					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0xD)
102 #define TRACE_RDMA_CM_ASYNC_EVENT					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0xE)
103 #define TRACE_RDMA_QP_DISCONNECT					SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x10)
104 #define TRACE_RDMA_QP_DESTROY						SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x11)
105 #define TRACE_RDMA_REQUEST_STATE_READY_TO_COMPLETE_PENDING		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_RDMA, 0x12)
106 
107 /* Thread tracepoint definitions */
108 #define TRACE_THREAD_IOCH_GET		SPDK_TPOINT_ID(TRACE_GROUP_THREAD, 0x0)
109 #define TRACE_THREAD_IOCH_PUT		SPDK_TPOINT_ID(TRACE_GROUP_THREAD, 0x1)
110 
111 /* Blobfs tracepoint definitions */
112 #define TRACE_BLOBFS_XATTR_START	SPDK_TPOINT_ID(TRACE_GROUP_BLOBFS, 0x0)
113 #define TRACE_BLOBFS_XATTR_END		SPDK_TPOINT_ID(TRACE_GROUP_BLOBFS, 0x1)
114 #define TRACE_BLOBFS_OPEN		SPDK_TPOINT_ID(TRACE_GROUP_BLOBFS, 0x2)
115 #define TRACE_BLOBFS_CLOSE		SPDK_TPOINT_ID(TRACE_GROUP_BLOBFS, 0x3)
116 #define TRACE_BLOBFS_DELETE_START	SPDK_TPOINT_ID(TRACE_GROUP_BLOBFS, 0x4)
117 #define TRACE_BLOBFS_DELETE_DONE	SPDK_TPOINT_ID(TRACE_GROUP_BLOBFS, 0x5)
118 
119 /* NVMe-oF FC tracepoint definitions */
120 #define TRACE_FC_REQ_INIT		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x01)
121 #define TRACE_FC_REQ_READ_BDEV		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x02)
122 #define TRACE_FC_REQ_READ_XFER		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x03)
123 #define TRACE_FC_REQ_READ_RSP		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x04)
124 #define TRACE_FC_REQ_WRITE_BUFFS	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x05)
125 #define TRACE_FC_REQ_WRITE_XFER		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x06)
126 #define TRACE_FC_REQ_WRITE_BDEV		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x07)
127 #define TRACE_FC_REQ_WRITE_RSP		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x08)
128 #define TRACE_FC_REQ_NONE_BDEV		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x09)
129 #define TRACE_FC_REQ_NONE_RSP		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x0A)
130 #define TRACE_FC_REQ_SUCCESS		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x0B)
131 #define TRACE_FC_REQ_FAILED		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x0C)
132 #define TRACE_FC_REQ_ABORTED		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x0D)
133 #define TRACE_FC_REQ_BDEV_ABORTED	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x0E)
134 #define TRACE_FC_REQ_PENDING		SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x0F)
135 #define TRACE_FC_REQ_FUSED_WAITING	SPDK_TPOINT_ID(TRACE_GROUP_NVMF_FC, 0x10)
136 
137 /* Iscsi conn tracepoint definitions */
138 #define TRACE_ISCSI_READ_FROM_SOCKET_DONE	SPDK_TPOINT_ID(TRACE_GROUP_ISCSI, 0x0)
139 #define TRACE_ISCSI_READ_PDU			SPDK_TPOINT_ID(TRACE_GROUP_ISCSI, 0x3)
140 #define TRACE_ISCSI_TASK_DONE			SPDK_TPOINT_ID(TRACE_GROUP_ISCSI, 0x4)
141 #define TRACE_ISCSI_TASK_QUEUE			SPDK_TPOINT_ID(TRACE_GROUP_ISCSI, 0x5)
142 #define TRACE_ISCSI_TASK_EXECUTED		SPDK_TPOINT_ID(TRACE_GROUP_ISCSI, 0x6)
143 #define TRACE_ISCSI_PDU_COMPLETED		SPDK_TPOINT_ID(TRACE_GROUP_ISCSI, 0x7)
144 
145 /* Scsi tracepoint definitions */
146 #define TRACE_SCSI_TASK_DONE	SPDK_TPOINT_ID(TRACE_GROUP_SCSI, 0x0)
147 #define TRACE_SCSI_TASK_START	SPDK_TPOINT_ID(TRACE_GROUP_SCSI, 0x1)
148 
149 /* NVMe PCIe tracepoint definitions */
150 #define TRACE_NVME_PCIE_SUBMIT		SPDK_TPOINT_ID(TRACE_GROUP_NVME_PCIE, 0x0)
151 #define TRACE_NVME_PCIE_COMPLETE	SPDK_TPOINT_ID(TRACE_GROUP_NVME_PCIE, 0x1)
152 
153 /* idxd trace definitions */
154 #define TRACE_ACCEL_DSA_OP_SUBMIT	SPDK_TPOINT_ID(TRACE_GROUP_ACCEL_DSA, 0x0)
155 #define TRACE_ACCEL_DSA_OP_COMPLETE	SPDK_TPOINT_ID(TRACE_GROUP_ACCEL_DSA, 0x1)
156 #define TRACE_ACCEL_IAA_OP_SUBMIT	SPDK_TPOINT_ID(TRACE_GROUP_ACCEL_IAA, 0x0)
157 #define TRACE_ACCEL_IAA_OP_COMPLETE	SPDK_TPOINT_ID(TRACE_GROUP_ACCEL_IAA, 0x1)
158 
159 /* NVMe TCP tracepoint definitions */
160 #define TRACE_NVME_TCP_SUBMIT		SPDK_TPOINT_ID(TRACE_GROUP_NVME_TCP, 0x0)
161 #define TRACE_NVME_TCP_COMPLETE		SPDK_TPOINT_ID(TRACE_GROUP_NVME_TCP, 0x1)
162 
163 /* Bdev nvme tracepoint definitions */
164 #define TRACE_BDEV_NVME_IO_START	SPDK_TPOINT_ID(TRACE_GROUP_BDEV_NVME, 0x0)
165 #define TRACE_BDEV_NVME_IO_DONE		SPDK_TPOINT_ID(TRACE_GROUP_BDEV_NVME, 0x1)
166 
167 /* sock tracepoint definitions */
168 #define TRACE_SOCK_REQ_QUEUE		SPDK_TPOINT_ID(TRACE_GROUP_SOCK, 0x0)
169 #define TRACE_SOCK_REQ_PEND		SPDK_TPOINT_ID(TRACE_GROUP_SOCK, 0x1)
170 #define TRACE_SOCK_REQ_COMPLETE		SPDK_TPOINT_ID(TRACE_GROUP_SOCK, 0x2)
171 
172 /* blobstore tracepoint definitions */
173 #define TRACE_BLOB_REQ_SET_START        SPDK_TPOINT_ID(TRACE_GROUP_BLOB, 0x0)
174 #define TRACE_BLOB_REQ_SET_COMPLETE     SPDK_TPOINT_ID(TRACE_GROUP_BLOB, 0x1)
175 
176 /* Bdev raid tracepoint definitions */
177 #define TRACE_BDEV_RAID_IO_START	SPDK_TPOINT_ID(TRACE_GROUP_BDEV_RAID, 0x0)
178 #define TRACE_BDEV_RAID_IO_DONE		SPDK_TPOINT_ID(TRACE_GROUP_BDEV_RAID, 0x1)
179 
180 /* scheduler tracepoint definitions */
181 #define TRACE_SCHEDULER_PERIOD_START	SPDK_TPOINT_ID(TRACE_GROUP_SCHEDULER, 0x0)
182 #define TRACE_SCHEDULER_CORE_STATS	SPDK_TPOINT_ID(TRACE_GROUP_SCHEDULER, 0x1)
183 #define TRACE_SCHEDULER_THREAD_STATS	SPDK_TPOINT_ID(TRACE_GROUP_SCHEDULER, 0x2)
184 #define TRACE_SCHEDULER_MOVE_THREAD	SPDK_TPOINT_ID(TRACE_GROUP_SCHEDULER, 0x3)
185 
186 #endif /* SPDK_INTERNAL_TRACE_DEFS */
187