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

Doug Ledford
2017-06-05T14:29:19Z

On Sun, 2017-06-04 at 08:36 +0300, Leon Romanovsky wrote:
> On Fri, Jun 02, 2017 at 11:28:49AM -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.
>
> Not really, you just reduced the chances. In very large scale, you
> will
> have a very large chances of such deadlocks.

Since it has a timeout, it's not a deadlock, it's a state consistency
failure.  Once it happens, the user space and kernel space port maps
will no longer be in sync.

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

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