Re: [RFC PATCH 0/2] RDMA/rxe: Add RDMA Atomic Write operation

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

 



On 12/30/2021 2:21 PM, Gromadzki, Tomasz wrote:
1)
rdma_post_atomic_writev(struct rdma_cm_id *id, void *context, struct ibv_sge *sgl,
			int nsge, int flags, uint64_t remote_addr, uint32_t rkey)

Do we need this API at all?
Other atomic operations (compare_swap/add) do not use struct ibv_sge at all but have a dedicated place in
struct ib_send_wr {
...
		struct {
			uint64_t	remote_addr;
			uint64_t	compare_add;
			uint64_t	swap;
			uint32_t	rkey;
		} atomic;
...
}

Would it be better to reuse (extend) any existing field?
i.e.
		struct {
			uint64_t	remote_addr;
			uint64_t	compare_add;
			uint64_t	swap_write;
			uint32_t	rkey;
		} atomic;

Agreed. Passing the data to be written as an SGE is unnatural
since it is always exactly 64 bits. Tweaking the existing atomic
parameter block as Tomasz suggests is the best approach.

Tom.

Thanks
Tomasz

-----Original Message-----
From: Xiao Yang <yangx.jy@xxxxxxxxxxx>
Sent: Thursday, December 30, 2021 1:14 PM
To: linux-rdma@xxxxxxxxxxxxxxx
Cc: yanjun.zhu@xxxxxxxxx; rpearsonhpe@xxxxxxxxx; jgg@xxxxxxxxxx; y-
goto@xxxxxxxxxxx; lizhijian@xxxxxxxxxxx; Gromadzki, Tomasz
<tomasz.gromadzki@xxxxxxxxx>; Xiao Yang <yangx.jy@xxxxxxxxxxx>
Subject: [RFC PATCH 0/2] RDMA/rxe: Add RDMA Atomic Write operation

The IB SPEC v1.5[1][2] added new RDMA operations (Atomic Write and
Flush).
This patchset makes SoftRoCE support new RDMA Atomic Write on RC
service.

I added RDMA Atomic Write API and a rdma_atomic_write example on my
rdma-core repository[3].  You can verify the patchset by building and running
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]

[1]: https://www.infinibandta.org/ibta-specification/ # login required
[2]: 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
[3]: https://github.com/yangx-jy/rdma-core

BTW: This patchset also needs the following fix.
https://www.spinics.net/lists/linux-rdma/msg107838.html

Xiao Yang (2):
   RDMA/rxe: Rename send_atomic_ack() and atomic member of struct
     resp_res
   RDMA/rxe: Add RDMA Atomic Write operation

  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_qp.c     |  5 ++-
  drivers/infiniband/sw/rxe/rxe_req.c    | 10 +++--
  drivers/infiniband/sw/rxe/rxe_resp.c   | 59 ++++++++++++++++++++------
  drivers/infiniband/sw/rxe/rxe_verbs.h  |  2 +-
  include/rdma/ib_pack.h                 |  2 +
  include/rdma/ib_verbs.h                |  2 +
  include/uapi/rdma/ib_user_verbs.h      |  2 +
  10 files changed, 88 insertions(+), 19 deletions(-)

--
2.23.0



---------------------------------------------------------------------
Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | Kapital zakladowy 200.000 PLN.
Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by others is strictly prohibited.





[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