[PATCH v3 00/13] Remove FMR support from RDMA drivers

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

 



From: Jason Gunthorpe <jgg@xxxxxxxxxxxx>

This series removes the support for FMR mode to register memory. This
ancient mode is unsafe (rkeys that are usually exposed for caching
purposes and the API is limited to page granularity mappings) and not
maintained/tested in the last few years. It also doesn't have any
reasonable advantage over other memory registration methods such as
FRWR (that is implemented in all the recent RDMA adapters). This series
should be reviewed and approved by the maintainer of the effected drivers
and I suggest to test it as well.

Changes from V2:
 - Removed more occurances of _fmr
 - Remove max_map_per_fmr device attribute
 - Remove max_fmr device attribute
 - Remove additional dead code from bnxt_re and i40iw
 - Revised RDS to not use ib_fmr_attr or other fmr things
 - Rebased on RDMA for-next
Changes from V1:
 https://lore.kernel.org/linux-rdma/20200527094634.24240-1-maxg@xxxxxxxxxxxx/
 - added "RDMA/mlx5: Remove FMR leftovers" (from GalP)
 - rebased on top of "Linux 5.7-rc7"
 - added "Reviewed-by" Bart signature for SRP

Cc: shlomin@xxxxxxxxxxxx
Cc: vladimirk@xxxxxxxxxxxx
Cc: oren@xxxxxxxxxxxx

Gal Pressman (1):
  RDMA/mlx5: Remove FMR leftovers

Israel Rukshin (1):
  RDMA/iser: Remove support for FMR memory registration

Jason Gunthorpe (4):
  RDMA/bnxt_re: Remove FMR leftovers
  RDMA/i40iw: Remove FMR leftovers
  RDMA: Remove 'max_fmr'
  RDMA: Remove 'max_map_per_fmr'

Max Gurtovoy (7):
  RDMA/srp: Remove support for FMR memory registration
  RDMA/rds: Remove FMR support for memory registration
  RDMA/core: Remove FMR pool API
  RDMA/mlx4: Remove FMR support for memory registration
  RDMA/mthca: Remove FMR support for memory registration
  RDMA/rdmavt: Remove FMR memory registration
  RDMA/core: Remove FMR device ops

 Documentation/driver-api/infiniband.rst      |   3 -
 Documentation/infiniband/core_locking.rst    |   2 -
 drivers/infiniband/core/Makefile             |   2 +-
 drivers/infiniband/core/device.c             |   4 -
 drivers/infiniband/core/fmr_pool.c           | 494 -------------------
 drivers/infiniband/core/uverbs_cmd.c         |   2 -
 drivers/infiniband/core/verbs.c              |  48 --
 drivers/infiniband/hw/bnxt_re/ib_verbs.c     |   3 -
 drivers/infiniband/hw/bnxt_re/ib_verbs.h     |   6 -
 drivers/infiniband/hw/bnxt_re/qplib_sp.c     |   3 -
 drivers/infiniband/hw/bnxt_re/qplib_sp.h     |   2 -
 drivers/infiniband/hw/hfi1/verbs.c           |   1 -
 drivers/infiniband/hw/i40iw/i40iw.h          |   9 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.c    |   1 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.h    |   1 -
 drivers/infiniband/hw/mlx4/main.c            |  11 -
 drivers/infiniband/hw/mlx4/mlx4_ib.h         |  16 -
 drivers/infiniband/hw/mlx4/mr.c              |  93 ----
 drivers/infiniband/hw/mlx5/main.c            |   1 -
 drivers/infiniband/hw/mlx5/mlx5_ib.h         |   8 -
 drivers/infiniband/hw/mthca/mthca_dev.h      |  10 -
 drivers/infiniband/hw/mthca/mthca_mr.c       | 262 +---------
 drivers/infiniband/hw/mthca/mthca_provider.c |  96 ----
 drivers/infiniband/hw/mthca/mthca_provider.h |  23 -
 drivers/infiniband/hw/ocrdma/ocrdma.h        |   1 -
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c     |   1 -
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |   2 -
 drivers/infiniband/hw/qedr/main.c            |   1 -
 drivers/infiniband/hw/qedr/qedr.h            |   1 -
 drivers/infiniband/hw/qedr/verbs.c           |   2 -
 drivers/infiniband/hw/qib/qib_verbs.c        |   1 -
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |   1 -
 drivers/infiniband/sw/rdmavt/mr.c            | 155 ------
 drivers/infiniband/sw/rdmavt/mr.h            |  15 -
 drivers/infiniband/sw/rdmavt/vt.c            |   4 -
 drivers/infiniband/sw/siw/siw.h              |   2 -
 drivers/infiniband/sw/siw/siw_main.c         |   1 -
 drivers/infiniband/sw/siw/siw_verbs.c        |   1 -
 drivers/infiniband/ulp/iser/iscsi_iser.h     |  79 +--
 drivers/infiniband/ulp/iser/iser_initiator.c |  19 +-
 drivers/infiniband/ulp/iser/iser_memory.c    | 188 +------
 drivers/infiniband/ulp/iser/iser_verbs.c     | 126 +----
 drivers/infiniband/ulp/srp/ib_srp.c          | 222 +--------
 drivers/infiniband/ulp/srp/ib_srp.h          |  27 +-
 drivers/net/ethernet/mellanox/mlx4/main.c    |   2 -
 drivers/net/ethernet/mellanox/mlx4/mr.c      | 183 -------
 drivers/net/ethernet/qlogic/qed/qed_rdma.c   |   1 -
 drivers/net/ethernet/qlogic/qed/qed_rdma.h   |   1 -
 include/linux/mlx4/device.h                  |  22 +-
 include/linux/qed/qed_rdma_if.h              |   1 -
 include/rdma/ib_fmr_pool.h                   |  93 ----
 include/rdma/ib_verbs.h                      |  61 ---
 net/rds/Makefile                             |   2 +-
 net/rds/ib.c                                 |  22 +-
 net/rds/ib.h                                 |   2 -
 net/rds/ib_cm.c                              |   4 +-
 net/rds/ib_fmr.c                             | 269 ----------
 net/rds/ib_frmr.c                            |   4 +-
 net/rds/ib_mr.h                              |  14 +-
 net/rds/ib_rdma.c                            |  28 +-
 60 files changed, 88 insertions(+), 2571 deletions(-)
 delete mode 100644 drivers/infiniband/core/fmr_pool.c
 delete mode 100644 include/rdma/ib_fmr_pool.h
 delete mode 100644 net/rds/ib_fmr.c

-- 
2.26.2




[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