mbox series

[RFC,0/3] IB CM tracepoints

Message ID 20200710135812.14749.4630.stgit@klimt.1015granger.net (mailing list archive)
Headers show
Series IB CM tracepoints | expand

Message

Chuck Lever III July 10, 2020, 2:06 p.m. UTC
Hi-

This is a Request For Comments.

Oracle has an interest in a common observability infrastructure in
the RDMA core and ULPs. One alternative for this infrastructure is
to introduce static tracepoints that can also be used as hooks for
eBPF scripts, replacing infrastructure that is based on printk.

As an addendum to tracepoints already in NFS/RDMA and parts of the
RDMA core, this series takes that approach as a strawman. Feedback
is welcome!

---

Chuck Lever (3):
      RDMA/core: Move the rdma_show_ib_cm_event() macro
      RDMA/cm: Replace pr_debug() call sites with tracepoints
      RDMA/cm: Add tracepoints to track MAD send operations


 drivers/infiniband/core/Makefile   |   2 +-
 drivers/infiniband/core/cm.c       | 102 ++++---
 drivers/infiniband/core/cm_trace.c |  15 ++
 drivers/infiniband/core/cm_trace.h | 414 +++++++++++++++++++++++++++++
 4 files changed, 476 insertions(+), 57 deletions(-)
 create mode 100644 drivers/infiniband/core/cm_trace.c
 create mode 100644 drivers/infiniband/core/cm_trace.h

--
Chuck Lever

Comments

Jason Gunthorpe July 10, 2020, 3:17 p.m. UTC | #1
On Fri, Jul 10, 2020 at 10:06:01AM -0400, Chuck Lever wrote:
> Hi-
> 
> This is a Request For Comments.
> 
> Oracle has an interest in a common observability infrastructure in
> the RDMA core and ULPs. One alternative for this infrastructure is
> to introduce static tracepoints that can also be used as hooks for
> eBPF scripts, replacing infrastructure that is based on printk.

Don't we already have tracepoints in CM, why is adding more RFC?

Jason
Chuck Lever III July 10, 2020, 4:32 p.m. UTC | #2
> On Jul 10, 2020, at 11:17 AM, Jason Gunthorpe <jgg@ziepe.ca> wrote:
> 
> On Fri, Jul 10, 2020 at 10:06:01AM -0400, Chuck Lever wrote:
>> Hi-
>> 
>> This is a Request For Comments.
>> 
>> Oracle has an interest in a common observability infrastructure in
>> the RDMA core and ULPs. One alternative for this infrastructure is
>> to introduce static tracepoints that can also be used as hooks for
>> eBPF scripts, replacing infrastructure that is based on printk.
> 
> Don't we already have tracepoints in CM, why is adding more RFC?

One of these patches _replaces_ printk calls with tracepoints.
Is that OK?

--
Chuck Lever
Jason Gunthorpe July 20, 2020, 2 p.m. UTC | #3
On Fri, Jul 10, 2020 at 12:32:28PM -0400, Chuck Lever wrote:
> 
> 
> > On Jul 10, 2020, at 11:17 AM, Jason Gunthorpe <jgg@ziepe.ca> wrote:
> > 
> > On Fri, Jul 10, 2020 at 10:06:01AM -0400, Chuck Lever wrote:
> >> Hi-
> >> 
> >> This is a Request For Comments.
> >> 
> >> Oracle has an interest in a common observability infrastructure in
> >> the RDMA core and ULPs. One alternative for this infrastructure is
> >> to introduce static tracepoints that can also be used as hooks for
> >> eBPF scripts, replacing infrastructure that is based on printk.
> > 
> > Don't we already have tracepoints in CM, why is adding more RFC?
> 
> One of these patches _replaces_ printk calls with tracepoints.
> Is that OK?

Seems OK? I'd rather have the trace points be self consistent than a mix
of things spilling into pr_debug.

If someone wants to debug the CM it is clearly better to use the
complete set of tracepoints, right?

Jason
Chuck Lever III July 20, 2020, 2:05 p.m. UTC | #4
> On Jul 20, 2020, at 10:00 AM, Jason Gunthorpe <jgg@ziepe.ca> wrote:
> 
> On Fri, Jul 10, 2020 at 12:32:28PM -0400, Chuck Lever wrote:
>> 
>> 
>>> On Jul 10, 2020, at 11:17 AM, Jason Gunthorpe <jgg@ziepe.ca> wrote:
>>> 
>>> On Fri, Jul 10, 2020 at 10:06:01AM -0400, Chuck Lever wrote:
>>>> Hi-
>>>> 
>>>> This is a Request For Comments.
>>>> 
>>>> Oracle has an interest in a common observability infrastructure in
>>>> the RDMA core and ULPs. One alternative for this infrastructure is
>>>> to introduce static tracepoints that can also be used as hooks for
>>>> eBPF scripts, replacing infrastructure that is based on printk.
>>> 
>>> Don't we already have tracepoints in CM, why is adding more RFC?
>> 
>> One of these patches _replaces_ printk calls with tracepoints.
>> Is that OK?
> 
> Seems OK? I'd rather have the trace points be self consistent than a mix
> of things spilling into pr_debug.

Exactly, but I wanted to be sure the community (and especially authors
of driver/infiniband/core/cm.c) agrees with this view.

I will follow up with a v2 this week with a few fixes and tweaks.


> If someone wants to debug the CM it is clearly better to use the
> complete set of tracepoints, right?


--
Chuck Lever