From: Leon Romanovsky <leon@kernel.org>
To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>,
linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org,
Potnuri Bharat Teja <bharat@chelsio.com>,
Steve Wise <larrystevenwise@gmail.com>,
Yishai Hadas <yishaih@mellanox.com>
Subject: [PATCH rdma-next v1 0/7] Introduce UAPIs to query UCONTEXT, PD and MR properties
Date: Tue, 30 Jun 2020 12:39:09 +0300 [thread overview]
Message-ID: <20200630093916.332097-1-leon@kernel.org> (raw)
From: Leon Romanovsky <leonro@mellanox.com>
Changelog
v1:
* Replaced "KABI" word with "UAPI".
* Set IOVA as an optional attribute upon query MR.
v0:
https://lore.kernel.org/lkml/20200616105531.2428010-1-leon@kernel.org
------------------------------------------------------------------------------
From Yishai,
This series introduce UAPIs to query existing UCONTEXT, PD and MR for
their properties.
By those UAPIs a user space application which owns the command FD of the
device can retrieve and rebuild the above objects despite that it wasn't
their creator. As of that, PDs and MRs can be shared by any process who
owns the command FD of their creator.
This functionality enables to utilize and optimize some application
flows, few examples below.
Any solution which is a single business logic based on multi-process
design needs this. Example include NGINX, with TCP load balancing, sharing the
RSS indirection table with RQ per process. HPC frameworks with multi-rank
(process) solution on single hosts. UCX can share IB resources using the shared
PD and can help dispatch data to multiple processes/MR's in single RDMA
operation. Also, there are use cases when a primary processes registered a large
shared memory range, and each worker process spawned will create a private QP
on the shared PD, and use the shared MR to save the registration time
per-process.
The matching verbs APIs were introduced in the mailing list by the below RFC [1].
In addition, the series enables CQ ioctl commands by default as this
functionality is fully mature for a long time and sets IOVA on IB MR in
the uverbs layer to let all drivers have it.
[1] https://patchwork.kernel.org/patch/11540665/
Yishai
Yishai Hadas (7):
IB/uverbs: Enable CQ ioctl commands by default
IB/uverbs: Set IOVA on IB MR in uverbs layer
IB/uverbs: Expose UAPI to query ucontext
RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response
RDMA/mlx5: Implement the query ucontext functionality
RDMA/mlx5: Introduce UAPI to query PD attributes
IB/uverbs: Expose UAPI to query MR
drivers/infiniband/Kconfig | 8 -
drivers/infiniband/core/device.c | 1 +
drivers/infiniband/core/uverbs_cmd.c | 4 +
drivers/infiniband/core/uverbs_ioctl.c | 1 +
drivers/infiniband/core/uverbs_std_types_cq.c | 3 -
.../infiniband/core/uverbs_std_types_device.c | 41 +++-
drivers/infiniband/core/uverbs_std_types_mr.c | 52 +++-
drivers/infiniband/hw/cxgb4/mem.c | 1 -
drivers/infiniband/hw/mlx4/mr.c | 1 -
drivers/infiniband/hw/mlx5/Makefile | 3 +-
drivers/infiniband/hw/mlx5/main.c | 232 ++++++++++--------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 +
drivers/infiniband/hw/mlx5/std_types.c | 45 ++++
include/rdma/ib_verbs.h | 4 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 15 ++
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 14 ++
16 files changed, 308 insertions(+), 119 deletions(-)
create mode 100644 drivers/infiniband/hw/mlx5/std_types.c
--
2.26.2
next reply other threads:[~2020-06-30 9:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 9:39 Leon Romanovsky [this message]
2020-06-30 9:39 ` [PATCH rdma-next v1 1/7] IB/uverbs: Enable CQ ioctl commands by default Leon Romanovsky
2020-06-30 9:39 ` [PATCH rdma-next v1 2/7] IB/uverbs: Set IOVA on IB MR in uverbs layer Leon Romanovsky
2020-06-30 9:39 ` [PATCH rdma-next v1 3/7] IB/uverbs: Expose UAPI to query ucontext Leon Romanovsky
2020-06-30 9:39 ` [PATCH rdma-next v1 4/7] RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response Leon Romanovsky
2020-06-30 9:39 ` [PATCH rdma-next v1 5/7] RDMA/mlx5: Implement the query ucontext functionality Leon Romanovsky
2020-06-30 9:39 ` [PATCH rdma-next v1 6/7] RDMA/mlx5: Introduce UAPI to query PD attributes Leon Romanovsky
2020-06-30 9:39 ` [PATCH rdma-next v1 7/7] IB/uverbs: Expose UAPI to query MR Leon Romanovsky
2020-07-06 22:54 ` [PATCH rdma-next v1 0/7] Introduce UAPIs to query UCONTEXT, PD and MR properties Jason Gunthorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200630093916.332097-1-leon@kernel.org \
--to=leon@kernel.org \
--cc=bharat@chelsio.com \
--cc=dledford@redhat.com \
--cc=jgg@mellanox.com \
--cc=larrystevenwise@gmail.com \
--cc=leonro@mellanox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=yishaih@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).