Re: [PATCH V5 1/6] IB/MAD: Add send path trace points

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

 



On Mon, Feb 25, 2019 at 11:36:40AM -0500, Steven Rostedt wrote:
> On Sun, 24 Feb 2019 21:11:59 -0800
> ira.weiny@xxxxxxxxx wrote:
> 
> >  INGENIC JZ4780 DMA Driver
> >  M:	Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx>
> > diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
> > index e742a6a2c138..d5cd90fecda7 100644
> > --- a/drivers/infiniband/core/mad.c
> > +++ b/drivers/infiniband/core/mad.c
> > @@ -3,7 +3,7 @@
> >   * Copyright (c) 2005 Intel Corporation.  All rights reserved.
> >   * Copyright (c) 2005 Mellanox Technologies Ltd.  All rights reserved.
> >   * Copyright (c) 2009 HNR Consulting. All rights reserved.
> > - * Copyright (c) 2014 Intel Corporation.  All rights reserved.
> > + * Copyright (c) 2014,2018 Intel Corporation.  All rights reserved.
> >   *
> >   * This software is available to you under a choice of one of two
> >   * licenses.  You may choose to be licensed under the terms of the GNU
> > @@ -51,6 +51,41 @@
> >  #include "opa_smi.h"
> >  #include "agent.h"
> >  
> > +static void create_mad_addr_info(struct ib_mad_send_wr_private *mad_send_wr,
> > +				 struct ib_mad_qp_info *qp_info,
> > +				 u32 *dlid, u8 *sl, u16 *pkey, u32 *rqpn,
> > +				 u32 *rqkey)
> > +{
> 
> Instead of passing in a bunch of addresses, you may be able to pass in
> the entry structure directly.
> 
> 	struct trace_event_raw_ib_mad_send_template *entry
> 
> (defined from DECLARE_EVENT_CLASS(name, ...
> 
>  struct trace_event_raw_##name .. )
> 
> And just assign everything as:
> 
> 	entry->dlid = x, ...

raw_tracepoint requires all args to fit into u64.
bpf prog cannot access it otherwise.
Also struct by value is pretty slow on some archs.
Pointer to struct is always preferred.




[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