mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 02:23:16 +00:00
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: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
aa9b79ec37
commit
315aed110c
@ -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(
|
|||||||
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(
|
|||||||
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
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user