Commit 315aed11 authored by Mike Marciniszyn's avatar Mike Marciniszyn Committed by Jason Gunthorpe

IB/rdmavt: Enhance trace information for FRWR debug

This patch enhances the MR trace information to enable more focused debug
of MR issues.
Reviewed-by: default avatarKaike Wan <kaike.wan@intel.com>
Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent aa9b79ec
...@@ -612,8 +612,8 @@ static int rvt_set_page(struct ib_mr *ibmr, u64 addr) ...@@ -612,8 +612,8 @@ static int rvt_set_page(struct ib_mr *ibmr, u64 addr)
n = mapped_segs % RVT_SEGSZ; n = mapped_segs % RVT_SEGSZ;
mr->mr.map[m]->segs[n].vaddr = (void *)addr; mr->mr.map[m]->segs[n].vaddr = (void *)addr;
mr->mr.map[m]->segs[n].length = ps; mr->mr.map[m]->segs[n].length = ps;
trace_rvt_mr_page_seg(&mr->mr, m, n, (void *)addr, ps);
mr->mr.length += ps; mr->mr.length += ps;
trace_rvt_mr_page_seg(&mr->mr, m, n, (void *)addr, ps);
return 0; return 0;
} }
......
...@@ -64,8 +64,12 @@ DECLARE_EVENT_CLASS( ...@@ -64,8 +64,12 @@ DECLARE_EVENT_CLASS(
RDI_DEV_ENTRY(ib_to_rvt(mr->pd->device)) RDI_DEV_ENTRY(ib_to_rvt(mr->pd->device))
__field(void *, vaddr) __field(void *, vaddr)
__field(struct page *, page) __field(struct page *, page)
__field(u64, iova)
__field(u64, user_base)
__field(size_t, len) __field(size_t, len)
__field(size_t, length)
__field(u32, lkey) __field(u32, lkey)
__field(u32, offset)
__field(u16, m) __field(u16, m)
__field(u16, n) __field(u16, n)
), ),
...@@ -73,18 +77,28 @@ DECLARE_EVENT_CLASS( ...@@ -73,18 +77,28 @@ DECLARE_EVENT_CLASS(
RDI_DEV_ASSIGN(ib_to_rvt(mr->pd->device)); RDI_DEV_ASSIGN(ib_to_rvt(mr->pd->device));
__entry->vaddr = v; __entry->vaddr = v;
__entry->page = virt_to_page(v); __entry->page = virt_to_page(v);
__entry->iova = mr->iova;
__entry->user_base = mr->user_base;
__entry->lkey = mr->lkey;
__entry->m = m; __entry->m = m;
__entry->n = n; __entry->n = n;
__entry->len = len; __entry->len = len;
__entry->length = mr->length;
__entry->offset = mr->offset;
), ),
TP_printk( TP_printk(
"[%s] vaddr %p page %p m %u n %u len %ld", "[%s] lkey %x iova %llx user_base %llx mr_len %lu vaddr %llx page %p m %u n %u len %lu off %u",
__get_str(dev), __get_str(dev),
__entry->vaddr, __entry->lkey,
__entry->iova,
__entry->user_base,
__entry->length,
(unsigned long long)__entry->vaddr,
__entry->page, __entry->page,
__entry->m, __entry->m,
__entry->n, __entry->n,
__entry->len __entry->len,
__entry->offset
) )
); );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment