All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH v5 0/2] RDMA/rxe: Add RDMA Atomic Write operation
@ 2022-07-08  4:02 yangx.jy
  2022-07-08  4:02 ` [RESEND PATCH v5 1/2] RDMA/rxe: Support " yangx.jy
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: yangx.jy @ 2022-07-08  4:02 UTC (permalink / raw)
  To: linux-rdma; +Cc: leon, jgg, rpearsonhpe, zyjzyj2000, lizhijian, yangx.jy

The IB SPEC v1.5[1] defined new RDMA Atomic Write operation. This
patchset makes SoftRoCE support new RDMA Atomic Write on RC service.

On my rdma-core repository[2], I have introduced RDMA Atomic Write API
for libibverbs and Pyverbs. I also have provided a rdma_atomic_write
example and test_qp_ex_rc_rdma_atomic_write python test to verify
the patchset.

The steps to run the rdma_atomic_write example:
server:
$ ./rdma_atomic_write_server -s [server_address] -p [port_number]
client:
$ ./rdma_atomic_write_client -s [server_address] -p [port_number]

The steps to run test_qp_ex_rc_rdma_atomic_write test:
run_tests.py --dev rxe_enp0s3 --gid 1 -v test_qpex.QpExTestCase.test_qp_ex_rc_rdma_atomic_write
test_qp_ex_rc_rdma_atomic_write (tests.test_qpex.QpExTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.008s

OK

[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/yangx-jy/rdma-core/tree/new_api_with_point

Note:
This patch set depends on the following patch set:
https://lore.kernel.org/linux-rdma/20220705145212.12014-1-yangx.jy@fujitsu.com/T/#t

v4->v5:
1) Rebase on current wip/jgg-for-next
2) Rewrite the implementation on responder

v3->v4:
1) Rebase on current wip/jgg-for-next
2) Fix a compiler error on 32-bit arch (e.g. parisc) by disabling RDMA Atomic Write
3) Replace 64-bit value with 8-byte array for RDMA Atomic Write

V2->V3:
1) Rebase
2) Add RDMA Atomic Write attribute for rxe device

V1->V2:
1) Set IB_OPCODE_RDMA_ATOMIC_WRITE to 0x1D
2) Add rdma.atomic_wr in struct rxe_send_wr and use it to pass the atomic write value
3) Use smp_store_release() to ensure that all prior operations have completed

Xiao Yang (2):
  RDMA/rxe: Support RDMA Atomic Write operation
  RDMA/rxe: Add RDMA Atomic Write attribute for rxe device

 drivers/infiniband/sw/rxe/rxe_comp.c   |  4 ++
 drivers/infiniband/sw/rxe/rxe_opcode.c | 18 +++++
 drivers/infiniband/sw/rxe/rxe_opcode.h |  3 +
 drivers/infiniband/sw/rxe/rxe_param.h  |  5 ++
 drivers/infiniband/sw/rxe/rxe_req.c    | 15 +++-
 drivers/infiniband/sw/rxe/rxe_resp.c   | 94 ++++++++++++++++++++++++--
 include/rdma/ib_pack.h                 |  2 +
 include/rdma/ib_verbs.h                |  3 +
 include/uapi/rdma/ib_user_verbs.h      |  4 ++
 include/uapi/rdma/rdma_user_rxe.h      |  1 +
 10 files changed, 142 insertions(+), 7 deletions(-)

-- 
2.34.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-10-24 18:50 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-08  4:02 [RESEND PATCH v5 0/2] RDMA/rxe: Add RDMA Atomic Write operation yangx.jy
2022-07-08  4:02 ` [RESEND PATCH v5 1/2] RDMA/rxe: Support " yangx.jy
2022-09-23 22:22   ` Jason Gunthorpe
2022-09-26  6:55     ` Yang, Xiao/杨 晓
2022-10-06  7:53     ` Yang, Xiao/杨 晓
2022-10-14 16:00       ` Jason Gunthorpe
2022-10-20 13:25         ` Yang, Xiao/杨 晓
2022-10-24 17:02           ` Jason Gunthorpe
2022-09-27  8:18   ` Li Zhijian
2022-09-27 13:17     ` Jason Gunthorpe
2022-09-29  3:58       ` Yang, Xiao/杨 晓
2022-09-29  5:36         ` Yang, Xiao/杨 晓
2022-07-08  4:02 ` [RESEND PATCH v5 2/2] RDMA/rxe: Add RDMA Atomic Write attribute for rxe device yangx.jy
2022-08-04  7:30 ` [RESEND PATCH v5 0/2] RDMA/rxe: Add RDMA Atomic Write operation yangx.jy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.