Thread (18 messages) flat view 18 messages, 5 authors, 2021-04-09

Re: [PATCH rdma-next 1/8] RDMA/core: Check if client supports IB device or not

From: Leon Romanovsky <leon@kernel.org>
Date: 2021-04-05 08:47:00
Also in: linux-s390, lkml, netdev

On Mon, Apr 05, 2021 at 09:20:32AM +0300, Gal Pressman wrote:
On 05/04/2021 8:49, Leon Romanovsky wrote:
quoted
From: Parav Pandit <redacted>

RDMA devices are of different transport(iWarp, IB, RoCE) and have
different attributes.
Not all clients are interested in all type of devices.

Implement a generic callback that each IB client can implement to decide
if client add() or remove() should be done by the IB core or not for a
given IB device, client combination.

Signed-off-by: Parav Pandit <redacted>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 drivers/infiniband/core/device.c | 3 +++
 include/rdma/ib_verbs.h          | 9 +++++++++
 2 files changed, 12 insertions(+)
diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index c660cef66ac6..c9af2deba8c1 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -691,6 +691,9 @@ static int add_client_context(struct ib_device *device,
 	if (!device->kverbs_provider && !client->no_kverbs_req)
 		return 0;
 
+	if (client->is_supported && !client->is_supported(device))
+		return 0;
Isn't it better to remove the kverbs_provider flag (from previous if statement)
and unify it with this generic support check?
I thought about it, but didn't find it worth. The kverbs_provider needs
to be provided by device and all ULPs except uverbs will have the same check.

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help