Re: [PATCH rdma-next] Revert "IB/core: Add flow control to the portmapper netlink calls"

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

 



On Wed, 2017-05-31 at 13:34 -0500, Steve Wise wrote:
> > > I would hate to introduce an iwarp regression vs solving your issue w/o
> > > reverting.  If I recall, the flow control is need so as to not drop messages
> > > flowing from the kernel to the iwpmd.  I'm not sure how that could be fixed
> > > in the user daemon?
> > 
> > Assume that netlink is unreliable and set socket timeout.
> 
> It seems that netlink is becoming more and more a message API between kernel and
> user.  Wouldn't everyone benefit from make it reliable?  And I think we can
> certainly provide blocking/reliable mode as an option to be used only by those
> subsystems that require it.  

Sorry Steve but I'm not sure that's a good idea. Netlink uses fixed size
buffers for sending messages to user space. Making netlink reliable means
making the kernel wait if the buffer is full. That would introduce the
possibility of a kernel deadlock if the user space application hangs. I
don't think we want that.

BTW, are you aware netlink reports buffer overflows to user space through
the ENOBUFS error code? Any user space software that reads from a netlink
socket should check the error code returned by recv() and resynchronize the
state if recv() fails with ENOBUFS. I'm writing here "should" because there
are several examples of user space software that doesn't do this correctly.

Bart.--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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