[PATCH RFC 0/2] IB device in-kernel API support indication

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

 



Hello all,
This RFC allows device drivers to indicate their support for in-kernel API
through a flag in the IB device.
Currently, devices that do not support in-kernel APIs (such as usnic) have no
way to communicate that to the ULPs which try to use the device and fail.
Instead, make the driver advertise its support upfront and allow clients to
exit gracefully in case of unsupported device.

Patch #1 adds the flag to the IB device, sets all existing drivers as kernel
verbs providers and chanes the IB clients.
Patch #2 changes usnic driver to a non-kernel verbs provider as it offers no
kernel API support.

This RFC 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/

Thanks,
Gal

Gal Pressman (2):
  RDMA: Add indication for in kernel API support to IB device
  IB/usnic: Mark device as a non kernel verbs provider

 drivers/infiniband/core/cm.c                    | 3 +++
 drivers/infiniband/core/cma.c                   | 3 +++
 drivers/infiniband/core/mad.c                   | 3 +++
 drivers/infiniband/core/multicast.c             | 3 +++
 drivers/infiniband/core/sa_query.c              | 3 +++
 drivers/infiniband/core/ucm.c                   | 3 ++-
 drivers/infiniband/core/user_mad.c              | 3 +++
 drivers/infiniband/hw/bnxt_re/main.c            | 1 +
 drivers/infiniband/hw/cxgb3/iwch_provider.c     | 1 +
 drivers/infiniband/hw/cxgb4/provider.c          | 1 +
 drivers/infiniband/hw/hns/hns_roce_main.c       | 1 +
 drivers/infiniband/hw/i40iw/i40iw_verbs.c       | 1 +
 drivers/infiniband/hw/mlx4/main.c               | 1 +
 drivers/infiniband/hw/mlx5/main.c               | 1 +
 drivers/infiniband/hw/mthca/mthca_provider.c    | 1 +
 drivers/infiniband/hw/nes/nes_verbs.c           | 1 +
 drivers/infiniband/hw/ocrdma/ocrdma_main.c      | 1 +
 drivers/infiniband/hw/qedr/main.c               | 1 +
 drivers/infiniband/hw/usnic/usnic_ib_main.c     | 1 +
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c  | 1 +
 drivers/infiniband/sw/rdmavt/vt.c               | 1 +
 drivers/infiniband/sw/rxe/rxe_verbs.c           | 1 +
 drivers/infiniband/ulp/ipoib/ipoib_main.c       | 3 +++
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 2 +-
 drivers/infiniband/ulp/srp/ib_srp.c             | 3 +++
 drivers/infiniband/ulp/srpt/ib_srpt.c           | 3 +++
 include/rdma/ib_verbs.h                         | 1 +
 net/rds/ib.c                                    | 4 ++--
 net/smc/smc_ib.c                                | 2 +-
 29 files changed, 49 insertions(+), 5 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