hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/infiniband/sw/rdmavt/trace_tx.h
....@@ -51,7 +51,7 @@
5151 #include <linux/trace_seq.h>
5252
5353 #include <rdma/ib_verbs.h>
54
-#include <rdma/rdma_vt.h>
54
+#include <rdma/rdmavt_qp.h>
5555
5656 #undef TRACE_SYSTEM
5757 #define TRACE_SYSTEM rvt_tx
....@@ -153,6 +153,48 @@
153153 )
154154 );
155155
156
+TRACE_EVENT(
157
+ rvt_qp_send_completion,
158
+ TP_PROTO(struct rvt_qp *qp, struct rvt_swqe *wqe, u32 idx),
159
+ TP_ARGS(qp, wqe, idx),
160
+ TP_STRUCT__entry(
161
+ RDI_DEV_ENTRY(ib_to_rvt(qp->ibqp.device))
162
+ __field(struct rvt_swqe *, wqe)
163
+ __field(u64, wr_id)
164
+ __field(u32, qpn)
165
+ __field(u32, qpt)
166
+ __field(u32, length)
167
+ __field(u32, idx)
168
+ __field(u32, ssn)
169
+ __field(enum ib_wr_opcode, opcode)
170
+ __field(int, send_flags)
171
+ ),
172
+ TP_fast_assign(
173
+ RDI_DEV_ASSIGN(ib_to_rvt(qp->ibqp.device))
174
+ __entry->wqe = wqe;
175
+ __entry->wr_id = wqe->wr.wr_id;
176
+ __entry->qpn = qp->ibqp.qp_num;
177
+ __entry->qpt = qp->ibqp.qp_type;
178
+ __entry->length = wqe->length;
179
+ __entry->idx = idx;
180
+ __entry->ssn = wqe->ssn;
181
+ __entry->opcode = wqe->wr.opcode;
182
+ __entry->send_flags = wqe->wr.send_flags;
183
+ ),
184
+ TP_printk(
185
+ "[%s] qpn 0x%x qpt %u wqe %p idx %u wr_id %llx length %u ssn %u opcode %x send_flags %x",
186
+ __get_str(dev),
187
+ __entry->qpn,
188
+ __entry->qpt,
189
+ __entry->wqe,
190
+ __entry->idx,
191
+ __entry->wr_id,
192
+ __entry->length,
193
+ __entry->ssn,
194
+ __entry->opcode,
195
+ __entry->send_flags
196
+ )
197
+);
156198 #endif /* __RVT_TRACE_TX_H */
157199
158200 #undef TRACE_INCLUDE_PATH