Re: [PATCH rdma-core] mlx5: Return pointer to CQ doorbell

Jason Gunthorpe
2017-08-22T16:30:07Z

On Tue, Aug 22, 2017 at 11:36:42AM +0300, Yishai Hadas wrote:
> On 8/21/2017 6:22 PM, Jason Gunthorpe wrote:
> >Is there existing code out there that uses cq_out->uar and works
> >properly today? Yes or No?
>
> No, only this fix enables that to work properly.

This is still bad reasoning.

rdma-core 14 does not support the 'uar' field, it may as well have
been marked reserved.

rdma-core 15 supports 'uar'.

This is an ABI change, and need to be handled properly to protect the
users against mixing incompatible libraries.

The fact that rdma-core 14 intended to support uar but screwed it up
doesn't really matter from the user perspective. All they care about
is that an app using using uar needs to be build against >= 15 or it
silently explodes at runtime.

This sorts of issues are exactly what we are supposed to be using
symbol versions to protect against, and largely why they exist at
all. If you do it properly then tools like RPM and the dynanmic linker
take care of everything for the end user.

You don't get to ignore sane shared library versioning rules just
because it is your company's library - part of the point of rdma-core
is to have a much stronger stance on ABI issues (our community has
done a terrible job over the years) and I do not like this weakening.

Particularly since a patch to do this with proper compatibility
exists, and there is no reason at all to take a shortcut.

Doug? This needs to be decided before you mark rdma-core 15 final.