Hi- Refresh of the RDMA/core trace point patches. I've been working on improving how RPC/RDMA handles device removal and disconnect, so I've added some trace points in the core CMA code to report rdma_cm_id lifetime-related events. I've also had need to record creation and release of MRs. I had an old patch to do that, so that is also included here. The patch description can be improved, but it's ready for review comments, at least. Changes since v7: - Capture the return value from the ULP's CM event handler - Record the lifetime of each rdma_cm_id - Include an example patch for capturing MR lifetime Changes since v6: - Move include/trace/events/rmda_cma.h to drivers/infiniband/core/cma_trace.h - Add sample trace log output to the patch descriptions - Back to the inlined version of ib_poll_cq() Changes since v5: - Add low-overhead trace points in the Connection Manager - Address #include heartburn found by lkp Changes since v4: - Removed __ib_poll_cq, uninlined ib_poll_cq Changes since v3: - Reverted unnecessary behavior change in __ib_process_cq - Clarified what "id" is in trace point output - Added comment before new fields in struct ib_cq - New trace point that fires when there is a CQ allocation failure Changes since v2: - Removed extraneous changes to include/trace/events/rdma.h Changes since RFC: - Display CQ's global resource ID instead of it's pointer address --- Chuck Lever (3): RDMA/cma: Add trace points in RDMA Connection Manager RDMA/core: Trace points for diagnosing completion queue issues RDMA/core: Add trace points to follow MR allocation drivers/infiniband/core/Makefile | 4 drivers/infiniband/core/cma.c | 68 +++++- drivers/infiniband/core/cma_trace.c | 16 ++ drivers/infiniband/core/cma_trace.h | 302 ++++++++++++++++++++++++++++ drivers/infiniband/core/cq.c | 27 ++- drivers/infiniband/core/trace.c | 14 + drivers/infiniband/core/verbs.c | 39 +++- include/rdma/ib_verbs.h | 5 include/trace/events/rdma_core.h | 373 +++++++++++++++++++++++++++++++++++ 9 files changed, 816 insertions(+), 32 deletions(-) create mode 100644 drivers/infiniband/core/cma_trace.c create mode 100644 drivers/infiniband/core/cma_trace.h create mode 100644 drivers/infiniband/core/trace.c create mode 100644 include/trace/events/rdma_core.h -- Chuck Lever