[PATCH rdma-next 0/8] Update all drivers to use sgid_attrs from the rdma_ah_attrs

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

 



From: Leon Romanovsky <leonro@xxxxxxxxxxxx>

Hi,

New series from Parav and Jason:
------------------
Now that we have stable pointers to the gid_attrs in the GID table, we can
replace lookups in the cache with pointer de-references throughout the
stack from the core to the drivers.

HW objects that touch gid entires will hold a reference to the gid_attrs
for their lifetime. In RoCE mode this prevents reuse of the GID index
while there is an active user, which prevents a security/functional issue
around re-assigned GID table entries.

After this series there is only one driver call remaining to the GID cache
(in RXE receive) and driver use of the grh.sgid_index has been substantially
reduced.

Thanks

Jason Gunthorpe (3):
  IB/core: Add a sgid_attr pointer to struct rdma_ah_attr
  IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs
  RDMA: Hold the sgid_attr inside the struct ib_ah/qp

Parav Pandit (5):
  IB: Ensure that all rdma_ah_attr's are zero initialized
  IB/core: Tidy ib_resolve_eth_dmac
  RDMA: Convert drivers to use sgid_attr instead of sgid_index
  IB/mlx4: Use GID attribute from ah attribute
  RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths

 drivers/infiniband/core/cm.c              |   4 +-
 drivers/infiniband/core/uverbs_cmd.c      |   4 +-
 drivers/infiniband/core/verbs.c           | 368 +++++++++++++++++++++++++++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c  |  94 +++-----
 drivers/infiniband/hw/hns/hns_roce_ah.c   |  19 +-
 drivers/infiniband/hw/mlx4/ah.c           |  20 +-
 drivers/infiniband/hw/mlx4/main.c         |  20 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h      |   2 +-
 drivers/infiniband/hw/mlx4/qp.c           |  30 +--
 drivers/infiniband/hw/mlx5/ah.c           |  11 +-
 drivers/infiniband/hw/mlx5/main.c         |  32 +--
 drivers/infiniband/hw/mlx5/mlx5_ib.h      |   6 +-
 drivers/infiniband/hw/mlx5/qp.c           |  10 +-
 drivers/infiniband/hw/mthca/mthca_av.c    |   5 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c  |  24 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c  |  21 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.c |  25 +-
 drivers/infiniband/hw/qedr/verbs.c        |  25 +-
 drivers/infiniband/sw/rdmavt/ah.c         |   4 +-
 drivers/infiniband/sw/rdmavt/qp.c         |   6 +-
 drivers/infiniband/sw/rxe/rxe_av.c        |  11 +-
 drivers/infiniband/sw/rxe/rxe_loc.h       |   5 +-
 drivers/infiniband/sw/rxe/rxe_qp.c        |  23 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c     |  31 +--
 include/rdma/ib_verbs.h                   |  24 +-
 25 files changed, 480 insertions(+), 344 deletions(-)

--
2.14.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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