Re: [PATCH rdma-next v3 0/2] IB device in-kernel API support indication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Jan 8, 2019, at 2:42 PM, Gal Pressman <galpress@xxxxxxxxxx> wrote:
> 
> Hello all,
> This patchset marks drivers that do not implement all mandatory verbs for
> kverbs as non-kverbs providers though
through
>  a flag in the IB device.  Currently, ULPs
> add the device and fail when trying to make actual use.  Instead, in case of
> missing verbs, mark the device as a non-kverbs provider and allow clients to
> exit gracefully.
> 
> This also removes the need for stubs implementation of unsupported verbs, which
> will no longer fail the device registration but mark the device as non-kverbs
> provider.
> 
> A 'no_kverbs_req' flag is added to the ib_clients, which is off by default
> except for uverbs. This is added in order to identify the uverbs module when
> registering a new device/client.
> It can also be done using name comparison but the flag seems better to me.
> 
> Patch #1 adds the flag to the IB device and marks devices that do not implement
> all needed kverbs functions.
> Patch #2 removes all stub functions from usnic.
> 
> Another pair of eyes going through the different callback usage flows is
> welcome :), flows that are already protected (uapi METHOD_NEEDS_FN NULL check,
> kernel verbs only flows) do not check for NULL prior to using callback.
> 
> This patchset is introduced following the discussion over the EFA driver [1],
> which initially does not provide in-kernel API support.
> 
> [1] https://patchwork.kernel.org/cover/10711629/
> 
> Changelog:
> v2->v3
> * Remove warning print when mandatory verb is not implemented
> * Change comment of no_kverbs_req flag
> * Add NULL checks for callbacks in unprotected flows
> v1->v2
> * Make core code mark devices instead of having each driver advertise its support
> * Prevent clients device addition in core code instead of inside the clients
> 
> Thanks,
> Gal
> 
> Gal Pressman (2):
>  RDMA: Add indication for in kernel API support to IB device
>  IB/usnic: Remove stub functions
> 
> drivers/infiniband/core/device.c             | 41 +++++++++++++--------
> drivers/infiniband/core/uverbs_main.c        |  1 +
> drivers/infiniband/core/verbs.c              | 28 +++++++++++++--
> drivers/infiniband/hw/mlx5/main.c            |  3 ++
> drivers/infiniband/hw/usnic/usnic_ib_main.c  |  7 ----
> drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 53 ----------------------------
> drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 15 --------
> include/rdma/ib_verbs.h                      |  5 +++
> 8 files changed, 60 insertions(+), 93 deletions(-)
> 
> -- 
> 2.7.4
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux