forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/infiniband/sw/rdmavt/trace_mr.h
....@@ -54,6 +54,8 @@
5454 #include <rdma/rdma_vt.h>
5555 #include <rdma/rdmavt_mr.h>
5656
57
+#include "mr.h"
58
+
5759 #undef TRACE_SYSTEM
5860 #define TRACE_SYSTEM rvt_mr
5961 DECLARE_EVENT_CLASS(
....@@ -64,8 +66,12 @@
6466 RDI_DEV_ENTRY(ib_to_rvt(mr->pd->device))
6567 __field(void *, vaddr)
6668 __field(struct page *, page)
69
+ __field(u64, iova)
70
+ __field(u64, user_base)
6771 __field(size_t, len)
72
+ __field(size_t, length)
6873 __field(u32, lkey)
74
+ __field(u32, offset)
6975 __field(u16, m)
7076 __field(u16, n)
7177 ),
....@@ -73,18 +79,28 @@
7379 RDI_DEV_ASSIGN(ib_to_rvt(mr->pd->device));
7480 __entry->vaddr = v;
7581 __entry->page = virt_to_page(v);
82
+ __entry->iova = mr->iova;
83
+ __entry->user_base = mr->user_base;
84
+ __entry->lkey = mr->lkey;
7685 __entry->m = m;
7786 __entry->n = n;
7887 __entry->len = len;
88
+ __entry->length = mr->length;
89
+ __entry->offset = mr->offset;
7990 ),
8091 TP_printk(
81
- "[%s] vaddr %p page %p m %u n %u len %ld",
92
+ "[%s] lkey %x iova %llx user_base %llx mr_len %lu vaddr %llx page %p m %u n %u len %lu off %u",
8293 __get_str(dev),
83
- __entry->vaddr,
94
+ __entry->lkey,
95
+ __entry->iova,
96
+ __entry->user_base,
97
+ __entry->length,
98
+ (unsigned long long)__entry->vaddr,
8499 __entry->page,
85100 __entry->m,
86101 __entry->n,
87
- __entry->len
102
+ __entry->len,
103
+ __entry->offset
88104 )
89105 );
90106
....@@ -165,6 +181,40 @@
165181 TP_PROTO(struct rvt_sge *sge, struct ib_sge *isge),
166182 TP_ARGS(sge, isge));
167183
184
+TRACE_EVENT(
185
+ rvt_map_mr_sg,
186
+ TP_PROTO(struct ib_mr *ibmr, int sg_nents, unsigned int *sg_offset),
187
+ TP_ARGS(ibmr, sg_nents, sg_offset),
188
+ TP_STRUCT__entry(
189
+ RDI_DEV_ENTRY(ib_to_rvt(to_imr(ibmr)->mr.pd->device))
190
+ __field(u64, iova)
191
+ __field(u64, ibmr_iova)
192
+ __field(u64, user_base)
193
+ __field(u64, ibmr_length)
194
+ __field(int, sg_nents)
195
+ __field(uint, sg_offset)
196
+ ),
197
+ TP_fast_assign(
198
+ RDI_DEV_ASSIGN(ib_to_rvt(to_imr(ibmr)->mr.pd->device))
199
+ __entry->ibmr_iova = ibmr->iova;
200
+ __entry->iova = to_imr(ibmr)->mr.iova;
201
+ __entry->user_base = to_imr(ibmr)->mr.user_base;
202
+ __entry->ibmr_length = to_imr(ibmr)->mr.length;
203
+ __entry->sg_nents = sg_nents;
204
+ __entry->sg_offset = sg_offset ? *sg_offset : 0;
205
+ ),
206
+ TP_printk(
207
+ "[%s] ibmr_iova %llx iova %llx user_base %llx length %llx sg_nents %d sg_offset %u",
208
+ __get_str(dev),
209
+ __entry->ibmr_iova,
210
+ __entry->iova,
211
+ __entry->user_base,
212
+ __entry->ibmr_length,
213
+ __entry->sg_nents,
214
+ __entry->sg_offset
215
+ )
216
+);
217
+
168218 #endif /* __RVT_TRACE_MR_H */
169219
170220 #undef TRACE_INCLUDE_PATH