Re: [RDMA for-next 0/6] Add MAD stack trace points

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/20/2018 12:02 AM, Ira Weiny wrote:
> On Wed, Dec 19, 2018 at 09:59:56PM -0500, Hal Rosenstock wrote:
>> Hi Ira,
>>
>> On 12/17/2018 2:15 PM, ira.weiny@xxxxxxxxx wrote:
>>> From: Ira Weiny <ira.weiny@xxxxxxxxx>
>>>
>>> A while ago I wrote these patches for MAD stack tracing.  At the time I was
>>> proposing to remove the snoop interface.[1]
>>>
>>> For this submission I'd like to propose adding the tracing and leave the snoop
>>> interface in.  While I still don't see a need for the snoop interface, I'm no
>>> longer advocating getting rid of it as the functionality of these patches is
>>> different.
>>
>> I have a few questions on this patch series:
>>
>> Should the agent, umad, and SMP trace points also be checked for being
>> enabled as the send and receive ones are ?
> 
> The enable is only used in the send/recv because they need to call
> trace_create_mad_addr to convert the address based on AH_TYPE.  The other trace
> points can use the "built in" trace enable/disable.  For example the umad trace
> points show up with the following enable files.
> 
> /sys/kernel/debug/tracing/events/ib_umad/ib_umad_write/enable
> /sys/kernel/debug/tracing/events/ib_umad/ib_umad_read/enable
> /sys/kernel/debug/tracing/events/ib_umad/enable
> 
> The top level enable above will enable both write and read in this case.
> 
>>
>> What is the overhead of the trace enabled check when the trace points
>> are off ?
> 
> Trace points are practically a no-op when disabled.  We have used them in the
> HFI1 driver fast path without detriment.
> 
>> Are there MAD performance numbers with tracing off before and
>> after these patches ?
> 
> I don't have numbers for this.  AFAIK there are no common benchmarks for MAD
> stack performance.  I have written some in the past but I don't know where that
> code is at the moment.
> 
>>
>> Does this work with RMPP ? Was this tested with RMPP responses such as
>> SA GetTableResp ?
> 
> Define "work"?  ;-)

What I meant was how RMPP looks when trace is on. In addition to not
displaying the RMPP fields, I guess impact is that TID would be
replicated in the MAD RMPP sequence.

> RMPP is not affected but is also not reported.  And the traces at the lower
> levels are showing the individual packet "MADs" where as at the umad level they
> are showing the RMPP "MAD", if RMPP is done within the kernel.
> 
> Additional RMPP features should probably be added at some point (like decoding
> the rmpp header if present) but I just never got around to it because it
> requires more processing of the packets (something I wanted to avoid).
> 
> This does not break anything it just may not be as much information as we would
> like WRT RMPP.  But having this is better than nothing IMO.
> 
>>
>> Should GSI MAD trace points include the GRH if it's present ?
> 
> That could be added for sure.  As OPA does not use GRH a lot it was not high on
> my list of priorities.
> 
> We will probably want to add lots of things in the future, especially to other
> areas of the core; SA, rdmacm, or verbs?
> 
> This is one of the reasons I've backed away from removing the snoop feature.
> Lets leave snoop in for now and get these in as a start.  Sound ok?

This seems reasonable to me.

-- Hal

> Ira
> 
>>
>> Thanks.
>>
>> -- Hal
>>
>>> In addition I wrote a sample eBPF which shows how one can further filter at the
>>> tracepoints to distill the information being traced.  I don't know if this
>>> should be submitted through another tree or if it is ok to take though
>>> linux-rdma?
>>>
>>> Ira
>>>
>>> [1] https://www.spinics.net/lists/linux-rdma/msg29109.html
>>>
>>>
>>> Ira Weiny (6):
>>>   IB/MAD: Add send path trace points
>>>   IB/MAD: Add recv path trace point
>>>   IB/MAD: Add agent trace points
>>>   IB/UMAD: Add umad trace points
>>>   IB/MAD: Add SMP details to MAD tracing
>>>   BPF: Add sample code for new ib_umad tracepoint
>>>
>>>  drivers/infiniband/core/mad.c      |  95 ++++++++-
>>>  drivers/infiniband/core/user_mad.c |   7 +
>>>  include/trace/events/ib_mad.h      | 391 +++++++++++++++++++++++++++++++++++++
>>>  include/trace/events/ib_umad.h     | 140 +++++++++++++
>>>  samples/bpf/Makefile               |   3 +
>>>  samples/bpf/ibumad_kern.c          | 123 ++++++++++++
>>>  samples/bpf/ibumad_user.c          | 120 ++++++++++++
>>>  7 files changed, 878 insertions(+), 1 deletion(-)
>>>  create mode 100644 include/trace/events/ib_mad.h
>>>  create mode 100644 include/trace/events/ib_umad.h
>>>  create mode 100644 samples/bpf/ibumad_kern.c
>>>  create mode 100644 samples/bpf/ibumad_user.c
>>>
> 



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux