Re: [RFC PATCH v3 0/7] RDMA/rxe: Add RDMA FLUSH operation

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

 



kindly ping


On 15/03/2022 18:18, Li Zhijian wrote:
> Hey folks,
>
> These patches are going to implement a *NEW* RDMA opcode "RDMA FLUSH".
> In IB SPEC 1.5[1], 2 new opcodes, ATOMIC WRITE and RDMA FLUSH were
> added in the MEMORY PLACEMENT EXTENSIONS section.
>
> This patchset makes SoftRoCE support new RDMA FLUSH on RC and RD service.
>
> You can verify the patchset by building and running the rdma_flush example[2].
> server:
> $ ./rdma_flush_server -s [server_address] -p [port_number]
> client:
> $ ./rdma_flush_client -s [server_address] -p [port_number]
>
> - We introduce new packet format for FLUSH request.
> - We introduce FLUSH placement type attributes to HCA
> - We introduce FLUSH access flags that users are able to register with
>
> [1]: https://www.infinibandta.org/wp-content/uploads/2021/08/IBTA-Overview-of-IBTA-Volume-1-Release-1.5-and-MPE-2021-08-17-Secure.pptx
> [2]: https://github.com/zhijianli88/rdma-core/tree/rdma-flush
>
> CC: Xiao Yang <yangx.jy@xxxxxxxxxxx>
> CC: y-goto@xxxxxxxxxxx
> CC: Jason Gunthorpe <jgg@xxxxxxxx>
> CC: Zhu Yanjun <zyjzyj2000@xxxxxxxxx
> CC: Leon Romanovsky <leon@xxxxxxxxxx>
> CC: Bob Pearson <rpearsonhpe@xxxxxxxxx>
> CC: Mark Bloch <mbloch@xxxxxxxxxx>
> CC: Wenpeng Liang <liangwenpeng@xxxxxxxxxx>
> CC: Aharon Landau <aharonl@xxxxxxxxxx>
> CC: Tom Talpey <tom@xxxxxxxxxx>
> CC: "Gromadzki, Tomasz" <tomasz.gromadzki@xxxxxxxxx>
> CC: Dan Williams <dan.j.williams@xxxxxxxxx>
> CC: linux-rdma@xxxxxxxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx
>
> Can also access the kernel source in:
> https://github.com/zhijianli88/linux/tree/rdma-flush
> Changes log
> V3:
> - Just rebase and commit log and comment updates
> - delete patch-1: "RDMA: mr: Introduce is_pmem", which will be combined into "Allow registering persistent flag for pmem MR only"
> - delete patch-7
>
> V2:
> RDMA: mr: Introduce is_pmem
>     check 1st byte to avoid crossing page boundary
>     new scheme to check is_pmem # Dan
>
> RDMA: Allow registering MR with flush access flags
>     combine with [03/10] RDMA/rxe: Allow registering FLUSH flags for supported device only to this patch # Jason
>     split RDMA_FLUSH to 2 capabilities
>
> RDMA/rxe: Allow registering persistent flag for pmem MR only
>     update commit message, get rid of confusing ib_check_flush_access_flags() # Tom
>
> RDMA/rxe: Implement RC RDMA FLUSH service in requester side
>     extend flush to include length field. # Tom and Tomasz
>
> RDMA/rxe: Implement flush execution in responder side
>     adjust start for WHOLE MR level # Tom
>     don't support DMA mr for flush # Tom
>     check flush return value
>
> RDMA/rxe: Enable RDMA FLUSH capability for rxe device
>     adjust patch's order. move it here from [04/10]
>
> Li Zhijian (7):
>    RDMA: Allow registering MR with flush access flags
>    RDMA/rxe: Allow registering persistent flag for pmem MR only
>    RDMA/rxe: Implement RC RDMA FLUSH service in requester side
>    RDMA/rxe: Implement flush execution in responder side
>    RDMA/rxe: Implement flush completion
>    RDMA/rxe: Enable RDMA FLUSH capability for rxe device
>    RDMA/rxe: Add RD FLUSH service support
>
>   drivers/infiniband/core/uverbs_cmd.c    |  17 +++
>   drivers/infiniband/sw/rxe/rxe_comp.c    |   4 +-
>   drivers/infiniband/sw/rxe/rxe_hdr.h     |  48 +++++++++
>   drivers/infiniband/sw/rxe/rxe_loc.h     |   2 +
>   drivers/infiniband/sw/rxe/rxe_mr.c      |  36 ++++++-
>   drivers/infiniband/sw/rxe/rxe_opcode.c  |  35 ++++++
>   drivers/infiniband/sw/rxe/rxe_opcode.h  |   3 +
>   drivers/infiniband/sw/rxe/rxe_param.h   |   4 +-
>   drivers/infiniband/sw/rxe/rxe_req.c     |  15 ++-
>   drivers/infiniband/sw/rxe/rxe_resp.c    | 135 ++++++++++++++++++++++--
>   include/rdma/ib_pack.h                  |   3 +
>   include/rdma/ib_verbs.h                 |  29 ++++-
>   include/uapi/rdma/ib_user_ioctl_verbs.h |   2 +
>   include/uapi/rdma/ib_user_verbs.h       |  19 ++++
>   include/uapi/rdma/rdma_user_rxe.h       |   7 ++
>   15 files changed, 346 insertions(+), 13 deletions(-)
>




[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