Re: [PATCH rdma-next] IB/core: Add option to limit user mad receive list

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

 



On Thu, Apr 04, 2024 at 11:01:13AM -0300, Jason Gunthorpe wrote:
> On Tue, Apr 02, 2024 at 12:50:21PM +0300, Leon Romanovsky wrote:
> > From: Michael Guralnik <michaelgur@xxxxxxxxxx>
> > 
> > ib_umad is keeping the received MAD packets in a list that is not
> > limited in size. As the extraction of packets from this list is done
> > from user-space application, there is no way to guarantee the extraction
> > rate to be faster than the rate of incoming packets. This can cause to
> > the list to grow uncontrollably.
> > 
> > As a solution, let's add new ysfs control knob for the users to limit
> > the number of received MAD packets in the list.
> > 
> > Packets received when the list is full would be dropped. Sent packets
> > that are queued on the receive list for whatever reason, like timed out
> > sends, are not dropped even when the list is full.
> > 
> > Signed-off-by: Michael Guralnik <michaelgur@xxxxxxxxxx>
> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx>
> > ---
> >  .../ABI/stable/sysfs-class-infiniband         | 12 ++++
> >  drivers/infiniband/core/user_mad.c            | 63 ++++++++++++++++++-
> >  2 files changed, 72 insertions(+), 3 deletions(-)
> > 
> > diff --git a/Documentation/ABI/stable/sysfs-class-infiniband b/Documentation/ABI/stable/sysfs-class-infiniband
> > index 694f23a03a28..0ea9d590ab0e 100644
> > --- a/Documentation/ABI/stable/sysfs-class-infiniband
> > +++ b/Documentation/ABI/stable/sysfs-class-infiniband
> > @@ -275,6 +275,18 @@ Description:
> >  		=============== ===========================================
> >  
> >  
> > +What:		/sys/class/infiniband_mad/umad<N>/max_recv_list_size
> > +Date:		January, 2024
> > +KernelVersion:	v6.9
> > +Contact:	linux-rdma@xxxxxxxxxxxxxxx
> > +Description:
> > +		(RW) Limit the size of the list of MAD packets waiting to be
> > +		     read by the user-space agent.
> > +		     The default value is 0, which means unlimited list size.
> > +		     Packets received when the list is full will be silently
> > +		     dropped.
> 
> I'm really not keen on this as a tunable, when we get to future
> designs it may be hard to retain this specific behavior.
> 
> Why do we need a tunable? Can we just set it to something large and be
> done with it?

I don't know which value to set to be large enough from one side and
small enough to do not cause to OOM while host gets MAD packets.

Thanks

> 
> Jason
> 




[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