Thread (5 messages) 5 messages, 3 authors, 2018-07-29

RE: [PATCH rdma] IB/cache: Restore compatibility for ib_query_gid

From: Parav Pandit <hidden>
Date: 2018-07-27 16:11:29
Also in: linux-next, linux-rdma, lkml

-----Original Message-----
From: Jason Gunthorpe <jgg@ziepe.ca>
Sent: Friday, July 27, 2018 11:09 AM
To: Parav Pandit <redacted>
Cc: linux-rdma@vger.kernel.org; Stephen Rothwell <redacted>;
David Miller [off-list ref]; Networking [off-list ref];
Doug Ledford [off-list ref]; Linux-Next Mailing List <linux-
next@vger.kernel.org>; Linux Kernel Mailing List <linux-
kernel@vger.kernel.org>; Ursula Braun [off-list ref]; Leon
Romanovsky [off-list ref]
Subject: Re: [PATCH rdma] IB/cache: Restore compatibility for ib_query_gid

On Fri, Jul 27, 2018 at 04:04:33PM +0000, Parav Pandit wrote:
quoted
quoted
From: Jason Gunthorpe
Sent: Friday, July 27, 2018 10:54 AM
To: linux-rdma@vger.kernel.org; Stephen Rothwell
[off-list ref]
Cc: David Miller <davem@davemloft.net>; Networking
[off-list ref]; Doug Ledford [off-list ref];
Linux-Next Mailing List [off-list ref]; Linux Kernel
Mailing List <linux- kernel@vger.kernel.org>; Parav Pandit
[off-list ref]; Ursula Braun [off-list ref]; Leon
Romanovsky [off-list ref]; linux- rdma@vger.kernel.org
Subject: [PATCH rdma] IB/cache: Restore compatibility for
ib_query_gid

Code changes in smc have become so complicated this cycle that the
RDMA patches to remove ib_query_gid in smc create too complex merge
conflicts.
quoted
quoted
Allow those conflicts to be resolved by using the net/smc hunks by
providing a compatibility wrapper. During the second phase of the
merge window this wrapper will be deleted and smc updated to use the new
API.
quoted
quoted
Reported-by: Stephen Rothwell <redacted>
Signed-off-by: Jason Gunthorpe <redacted>
include/rdma/ib_cache.h | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

The resolution Stephen had to make is too complicated, I think we
should go this way instead. Parav can send a patch to DaveM during
the 2nd half of the merge window to safely update SMC and delete this
wrapper.
quoted
quoted
Last night Stephen send the changes, if Ursula can test it, its
preferred but if that is not possible, I am with below approach too.
Thing is one of us has to explain to Linus how to handle this conflict, as
Stephen's resolutions do not automatically go him.

Given how much new code the resolution introduces, I prefer to not send it to
Linus..
Ok. Sounds good.
quoted
quoted
Parav, can you check this?

Ursula, this is only for SMC, are you able to test SMC with it? You
will need to apply it to the RDMA tree here:

https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h
=for-next

Thanks,
Jason
diff --git a/include/rdma/ib_cache.h b/include/rdma/ib_cache.h index
1108d422027696..c7e9b42b96e5b8 100644
+++ b/include/rdma/ib_cache.h
@@ -132,4 +132,28 @@ const struct ib_gid_attr
*rdma_get_gid_attr(struct ib_device *device,
 					    u8 port_num, int index);
 void rdma_put_gid_attr(const struct ib_gid_attr *attr);  void
rdma_hold_gid_attr(const struct ib_gid_attr *attr);
+
+/*
+ * This is to be removed. It only exists to make merging rdma and smc
simpler.
quoted
quoted
+ */
+static inline __deprecated int ib_query_gid(struct ib_device *device,
+					    u8 port_num, int index,
+					    union ib_gid *gid,
+					    struct ib_gid_attr *attr_out) {
+	const struct ib_gid_attr *attr;
+
+	attr = rdma_get_gid_attr(device,port_num,index);
White space after each variable is needed to avoid warnings.
Woops, no problem.
quoted
quoted
+	if (IS_ERR(attr))
+		return PTR_ERR(attr);
+
+	if (attr->ndev)
+		dev_hold(attr->ndev);
+	*attr_out = *attr;
+
+	rdma_put_gid_attr(attr);
+
+	return 0;
+}
+
 #endif /* _IB_CACHE_H */
Rest looks fine.
RB: parav@mellanox.com
In future please spell out the Reviewed-by - patchworks will automate collecting
the tags and add it to the patch, otherwise maintainers have to do it by hand.
I see. I will do it correctly now on using Reviewed-by.
Thanks,
Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help