Skip to content

ODP Fixes and Improvements

Leon Romanovsky linux-rdma 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 7 repliesIn review

Changes in v1 from the cover letter

* Remove temp variable (pg_shift) in i40iw driver as was suggested by Shiraz

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10IB: Replace ib_umem page_size by page_shiftdrivers/infiniband/core/umem.c drivers/infiniband/core/umem_odp.c drivers/infiniband/hw/bnxt_re/ib_verbs.c +20 more+67 -774 replies
2/10IB/mlx5: Fix function updating xlt emergency pathdrivers/infiniband/hw/mlx5/mr.c+1 -10 replies
3/10IB/mlx5: Fix UMR size calculationdrivers/infiniband/hw/mlx5/mr.c+2 -10 replies
4/10IB/mlx5: Fix implicit MR GCdrivers/infiniband/hw/mlx5/odp.c+1 -100 replies
5/10IB/mlx5: Decrease verbosity level of ODP errorsdrivers/infiniband/hw/mlx5/odp.c+4 -70 replies
6/10IB/umem: Add contiguous ODP supportdrivers/infiniband/core/umem_odp.c include/rdma/ib_umem.h+33 -210 replies
7/10IB/mlx5: Add contiguous ODP supportdrivers/infiniband/hw/mlx5/mem.c drivers/infiniband/hw/mlx5/odp.c+19 -180 replies
8/10IB/umem: Add support to huge ODPdrivers/infiniband/core/umem.c drivers/infiniband/core/umem_odp.c include/rdma/ib_umem_odp.h +1 more+23 -52 replies
9/10IB/mlx5: Extract page fault codedrivers/infiniband/hw/mlx5/odp.c+104 -990 replies
10/10IB/mlx5: Add ODP support to MWdrivers/infiniband/hw/mlx5/mlx5_ib.h drivers/infiniband/hw/mlx5/mr.c drivers/infiniband/hw/mlx5/odp.c+120 -430 replies

Reviews trailers per patch

1 of 10 patches has a Reviewed-by or Acked-by.

PatchRam AmraniShiraz SaleemSelvin XavierAdit Ranadive
1/10A-b A-b A-b A-b A-b
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [PATCH rdma-next V1 00/10] ODP Fixes and Improvements

Hi Doug,

Please find the following patch set from Artemy. This patch set fixes and extends ODP support.

This patch set has the following steps:

1. Code simplification for all IB drivers.
2. Three fixes to existing ODP code.
3. Adds generic infrastructure for regions consisting of physically contiguous chunks of arbitrary order. Utilizing this infrastructure added specific treatment to ODP MRs allocated with MAP_HUGETLB.
4. Adds ODP suport to Memory Windows (MW). Memory windows allow the application to have more flexible control over access to its memory. The operation of associating an MW with an MR is called binding. When MW is bound to ODP MR it may cause page fault which should be properly handled.

Thanks

Changes from v0:
* Remove temp variable (pg_shift) in i40iw driver as was suggested by Shiraz

Artemy Kovalyov (10):
IB: Replace ib_umem page_size by page_shift IB/mlx5: Fix function updating xlt emergency path IB/mlx5: Fix UMR size calculation IB/mlx5: Fix implicit MR GC
IB/mlx5: Decrease verbosity level of ODP errors IB/umem: Add contiguous ODP support IB/mlx5: Add contiguous ODP support IB/umem: Add support to huge ODP
IB/mlx5: Extract page fault code
IB/mlx5: Add ODP support to MW

 drivers/infiniband/core/umem.c                 |  17 +-
 drivers/infiniband/core/umem_odp.c             |  81 ++++--
 drivers/infiniband/hw/bnxt_re/ib_verbs.c       |  12 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c    |   4 +-
 drivers/infiniband/hw/cxgb4/mem.c              |   4 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c        |   3 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c        |   9 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c        |   3 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c      |  10 +-
 drivers/infiniband/hw/mlx4/cq.c                |   2 +-
 drivers/infiniband/hw/mlx4/mr.c                |   6 +-
 drivers/infiniband/hw/mlx4/qp.c                |   2 +-
 drivers/infiniband/hw/mlx4/srq.c               |   2 +-
 drivers/infiniband/hw/mlx5/mem.c               |  13 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h           |   1 +
 drivers/infiniband/hw/mlx5/mr.c                |   6 +-
 drivers/infiniband/hw/mlx5/odp.c               | 344 +++++++++++++++----------
 drivers/infiniband/hw/mthca/mthca_provider.c   |   5 +-
 drivers/infiniband/hw/nes/nes_verbs.c          |   4 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c    |  15 +-
 drivers/infiniband/hw/qedr/verbs.c             |   8 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c |   2 +-
 drivers/infiniband/sw/rdmavt/mr.c              |   8 +-
 drivers/infiniband/sw/rxe/rxe_mr.c             |   8 +-
 include/rdma/ib_umem.h                         |   8 +-
 include/rdma/ib_umem_odp.h                     |   6 +-
 include/rdma/ib_verbs.h                        |   1 +
 27 files changed, 338 insertions(+), 246 deletions(-)

--
2.12.0

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