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

Doug Ledford
2017-06-05T14:27:47Z

On Fri, 2017-06-02 at 11:28 -0500, Shiraz Saleem wrote:
> On Wed, May 31, 2017 at 02:10:31PM -0600, Bart Van Assche wrote:
> >
> > On Wed, 2017-05-31 at 12:42 -0500, Shiraz Saleem wrote:
> > >
> > > >
> > > > 5. I proposed a solution -> go and fix your user space program.
> > >
> > > This is a kernel patch you are trying to revert, you are breaking
> > > existing
> > > kernel functionality.  Nothing to do with user space.
> > >
> > > Bottom line, come up with a solution that will address both port
> > > mapper
> > > functionality and your issue.
> >
> > Hello Shiraz,
> >
> > Sorry that this means additional work for you, but I agree with
> > Leon that
> > user space software should not assume that netlink sockets are a
> > reliable
> > communication mechanism.
>
> Hi Bart - Thank you for your response.
>
> The original problem was that ibnl_unicast, which is used to send nl
> messages from
> portmapper kernel space to user-space, would occasionally and
> momentarily fail under stress.
> We could have retried the call for a certain amount of time, but
> since netlink_unicast has a
> nonblock/block parameter, we chose to use the blocking option with a
> timeout. So we thought we
> did account for deadlocks with this timeout.

Just to be clear, replacing a non-blocking and occasionally dropping
function with a blocking function but with a timeout does not actually
solve the problem, it merely moves the goal post out.  It is entirely
possible that you will have the problem again given sufficient load.

--
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
GPG KeyID: B826A3330E572FDD

Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD