mbox series

[rdma-core,0/6] verbs: Introduce ibv_advise_mr() verb

Message ID 1544016291-10815-1-git-send-email-yishaih@mellanox.com (mailing list archive)
Headers show
Series verbs: Introduce ibv_advise_mr() verb | expand

Message

Yishai Hadas Dec. 5, 2018, 1:24 p.m. UTC
This series from Moni introduces a new verb named ibv_advise_mr(), it includes:
- The application interface.
- The command interface with the kernel.

The purpose of this verb is to give an advice to the kernel about an address
range belongs to a memory region.

Applications that are aware of future access patterns can use this verb in
order to leverage this knowledge to improve system or application performance.
One example is for pre-fetching a range part of an on-demand paging MR which is
implemented by this series.

The series follows a detailed RFC that was proposed to the list a month ago [1]
and includes a detailed man page for this new public verb.

The kernel part was already sent into rdma-next.

PR:
https://github.com/linux-rdma/rdma-core/pull/439

Note:
The first patch which includes the kernel headers may be adapted before merging
to point to the accepted commit ID with the applicable changes by that time.

[1] https://www.spinics.net/lists/linux-rdma/msg70592.html

Moni Shoua (5):
  verbs: Add helper for command interface
  verbs: Introduce ibv_advise_mr verb
  mlx5: Support advise_mr verb
  verbs: Device memory cannot be on demand in rc_pingpong
  verbs: Let caller pre-fetch a sub-region of ODP MR in rc_pingpong

Yishai Hadas (1):
  Update kernel headers

 kernel-headers/rdma/ib_user_ioctl_cmds.h  |  18 +++++
 kernel-headers/rdma/ib_user_ioctl_verbs.h |   9 +++
 kernel-headers/rdma/ib_user_verbs.h       |   2 +-
 kernel-headers/rdma/mlx5-abi.h            |   2 +
 kernel-headers/rdma/rdma_netlink.h        |  14 ++++
 libibverbs/CMakeLists.txt                 |   1 +
 libibverbs/cmd_ioctl.h                    |   3 +
 libibverbs/cmd_mr.c                       |  54 +++++++++++++
 libibverbs/driver.h                       |  10 +++
 libibverbs/dummy_ops.c                    |  11 +++
 libibverbs/examples/rc_pingpong.c         |  34 +++++++-
 libibverbs/libibverbs.map.in              |   1 +
 libibverbs/man/CMakeLists.txt             |   1 +
 libibverbs/man/ibv_advise_mr.3.md         | 126 ++++++++++++++++++++++++++++++
 libibverbs/man/ibv_rc_pingpong.1          |   7 +-
 libibverbs/verbs.h                        |  28 +++++++
 libibverbs/verbs_api.h                    |   6 ++
 providers/mlx5/mlx5.c                     |   1 +
 providers/mlx5/mlx5.h                     |   6 +-
 providers/mlx5/verbs.c                    |   9 +++
 20 files changed, 338 insertions(+), 5 deletions(-)
 create mode 100644 libibverbs/cmd_mr.c
 create mode 100644 libibverbs/man/ibv_advise_mr.3.md