mbox series

[rdma-core,0/7] verbs: Relaxed ordering memory regions

Message ID 1578578676-752-1-git-send-email-yishaih@mellanox.com (mailing list archive)
Headers show
Series verbs: Relaxed ordering memory regions | expand

Message

Yishai Hadas Jan. 9, 2020, 2:04 p.m. UTC
This series exposes an IBV_ACCESS_RELAXED_ORDERING optional MR access flag.
This optional flag allows creation of relaxed ordering memory regions.
Access through such MRs can improve performance by allowing the system to reorder
certain accesses.

The series uses the new ioctl command to get a device context, this command
enables reading some core generic capabilities such as supporting an optional
MR access flags by IB core and its related drivers.

This capability enables transparent masking of the optional flags in libibverbs
when the kernel doesn't support the MR optional access mode.

The series is based on an RFC that was sent to the ML [1], the matching kernel
series was sent to 'for-next'.
[1] https://www.spinics.net/lists/linux-rdma/msg86188.html

PR was sent:
https://github.com/linux-rdma/rdma-core/pull/660

Yishai

Michael Guralnik (6):
  verbs: Move free_context from verbs_device_ops to verbs_context_ops
  verbs: Move alloc_context to ioctl
  verbs: Relaxed ordering memory regions
  mlx5: Add optional access flags range to DM
  pyverbs: Add relaxed ordering access flag
  tests: Add relaxed ordering access test

Yishai Hadas (1):
  Update kernel headers

 debian/libibverbs1.symbols                |  2 +
 kernel-headers/rdma/ib_user_ioctl_cmds.h  | 15 ++++++
 kernel-headers/rdma/ib_user_ioctl_verbs.h | 12 +++++
 libibverbs/CMakeLists.txt                 |  2 +-
 libibverbs/cmd.c                          | 18 -------
 libibverbs/cmd_device.c                   | 79 +++++++++++++++++++++++++++++++
 libibverbs/device.c                       |  5 +-
 libibverbs/driver.h                       |  3 +-
 libibverbs/dummy_ops.c                    |  7 +++
 libibverbs/libibverbs.map.in              |  5 ++
 libibverbs/man/ibv_reg_mr.3               |  2 +
 libibverbs/verbs.c                        | 13 +++++
 libibverbs/verbs.h                        | 51 +++++++++++++++++++-
 libibverbs/verbs_api.h                    |  2 +
 providers/bnxt_re/main.c                  |  6 ++-
 providers/cxgb4/dev.c                     |  4 +-
 providers/efa/efa.c                       |  4 +-
 providers/hfi1verbs/hfiverbs.c            |  4 +-
 providers/hns/hns_roce_u.c                |  4 +-
 providers/i40iw/i40iw_umain.c             |  6 ++-
 providers/ipathverbs/ipathverbs.c         |  4 +-
 providers/mlx4/mlx4.c                     |  4 +-
 providers/mlx5/mlx5.c                     |  4 +-
 providers/mlx5/verbs.c                    |  3 +-
 providers/mthca/mthca.c                   |  6 ++-
 providers/ocrdma/ocrdma_main.c            |  6 ++-
 providers/qedr/qelr_main.c                |  4 +-
 providers/rxe/rxe.c                       |  6 ++-
 providers/siw/siw.c                       |  3 +-
 providers/vmw_pvrdma/pvrdma_main.c        |  4 +-
 pyverbs/libibverbs_enums.pxd              |  1 +
 tests/CMakeLists.txt                      |  5 +-
 tests/test_relaxed_ordering.py            | 55 +++++++++++++++++++++
 33 files changed, 301 insertions(+), 48 deletions(-)
 create mode 100644 tests/test_relaxed_ordering.py

Comments

Yishai Hadas Jan. 22, 2020, 9:50 a.m. UTC | #1
On 1/9/2020 4:04 PM, Yishai Hadas wrote:
> This series exposes an IBV_ACCESS_RELAXED_ORDERING optional MR access flag.
> This optional flag allows creation of relaxed ordering memory regions.
> Access through such MRs can improve performance by allowing the system to reorder
> certain accesses.
> 
> The series uses the new ioctl command to get a device context, this command
> enables reading some core generic capabilities such as supporting an optional
> MR access flags by IB core and its related drivers.
> 
> This capability enables transparent masking of the optional flags in libibverbs
> when the kernel doesn't support the MR optional access mode.
> 
> The series is based on an RFC that was sent to the ML [1], the matching kernel
> series was sent to 'for-next'.
> [1] https://www.spinics.net/lists/linux-rdma/msg86188.html
> 
> PR was sent:
> https://github.com/linux-rdma/rdma-core/pull/660
> 
> Yishai
> 
> Michael Guralnik (6):
>    verbs: Move free_context from verbs_device_ops to verbs_context_ops
>    verbs: Move alloc_context to ioctl
>    verbs: Relaxed ordering memory regions
>    mlx5: Add optional access flags range to DM
>    pyverbs: Add relaxed ordering access flag
>    tests: Add relaxed ordering access test
> 
> Yishai Hadas (1):
>    Update kernel headers
> 
>   debian/libibverbs1.symbols                |  2 +
>   kernel-headers/rdma/ib_user_ioctl_cmds.h  | 15 ++++++
>   kernel-headers/rdma/ib_user_ioctl_verbs.h | 12 +++++
>   libibverbs/CMakeLists.txt                 |  2 +-
>   libibverbs/cmd.c                          | 18 -------
>   libibverbs/cmd_device.c                   | 79 +++++++++++++++++++++++++++++++
>   libibverbs/device.c                       |  5 +-
>   libibverbs/driver.h                       |  3 +-
>   libibverbs/dummy_ops.c                    |  7 +++
>   libibverbs/libibverbs.map.in              |  5 ++
>   libibverbs/man/ibv_reg_mr.3               |  2 +
>   libibverbs/verbs.c                        | 13 +++++
>   libibverbs/verbs.h                        | 51 +++++++++++++++++++-
>   libibverbs/verbs_api.h                    |  2 +
>   providers/bnxt_re/main.c                  |  6 ++-
>   providers/cxgb4/dev.c                     |  4 +-
>   providers/efa/efa.c                       |  4 +-
>   providers/hfi1verbs/hfiverbs.c            |  4 +-
>   providers/hns/hns_roce_u.c                |  4 +-
>   providers/i40iw/i40iw_umain.c             |  6 ++-
>   providers/ipathverbs/ipathverbs.c         |  4 +-
>   providers/mlx4/mlx4.c                     |  4 +-
>   providers/mlx5/mlx5.c                     |  4 +-
>   providers/mlx5/verbs.c                    |  3 +-
>   providers/mthca/mthca.c                   |  6 ++-
>   providers/ocrdma/ocrdma_main.c            |  6 ++-
>   providers/qedr/qelr_main.c                |  4 +-
>   providers/rxe/rxe.c                       |  6 ++-
>   providers/siw/siw.c                       |  3 +-
>   providers/vmw_pvrdma/pvrdma_main.c        |  4 +-
>   pyverbs/libibverbs_enums.pxd              |  1 +
>   tests/CMakeLists.txt                      |  5 +-
>   tests/test_relaxed_ordering.py            | 55 +++++++++++++++++++++
>   33 files changed, 301 insertions(+), 48 deletions(-)
>   create mode 100644 tests/test_relaxed_ordering.py
> 

The PR was merged, thanks.

Yishai