From patchwork Thu Dec 30 12:14:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiao Yang X-Patchwork-Id: 12701417 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 155E7C433F5 for ; Thu, 30 Dec 2021 12:17:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239095AbhL3MRv (ORCPT ); Thu, 30 Dec 2021 07:17:51 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:38440 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S239064AbhL3MRu (ORCPT ); Thu, 30 Dec 2021 07:17:50 -0500 IronPort-Data: A9a23:9/0XG6AZR6CgUxVW/97hw5YqxClBgxIJ4g17XOLfDADs1Txw0jVSyWIfDzuCPfvYM2Whe9Bxb4619ExQ7MWAx9UxeLYW3SszFioV86IpJjg4wn/YZnrUdouaJK5ex512huLocYZkHhcwmj/3auK49CMnjfnSLlbBILWs1h5ZFFYMpBgJ2UoLd94R2uaEsPDha++/kYqaT/73ZDdJ7wVJ3lc8sMpvnv/AUMPa41v0tnRmDRxCUcS3e3M9VPrzLonpR5f0rxU9IwK0ewrD5OnREmLx9BFrBM6nk6rgbwsBRbu60Qqm0yIQAvb9xEMZ4HFaPqUTbZLwbW9GgjOGj5Zz2f1DqJ6xVRw0eKbLnYzxVjEBSnAhYPUfoOGvzX+X9Jb7I1f9W2H0zvx0F0YwPZUV0ulyCGBKs/cfLVglcheGjvmkhr2hTexlitYgLeHqOp8SvjdryjSxJecvR5LeRePY5cJw2DY2m9AIEfvAD+IbZjVHagrBbxxGfFwQDfoWmOaum2m6aTFdoXqLqqctpWve1gp81P7qKtW9RzAgba25hW7B/iSfoTu/WUpcabSiJfO+2irErofycenTAur+zIGFy8M= IronPort-HdrOrdr: A9a23:mRq1Ca0YKAiHVhEiStZ5sQqjBI4kLtp133Aq2lEZdPU1SL39qynKppkmPHDP5gr5J0tLpTntAsi9qBDnhPtICOsqTNSftWDd0QPGEGgI1/qB/9SPIU3D398Y/aJhXow7M9foEGV95PyQ3CCIV/om3/mLmZrFudvj X-IronPort-AV: E=Sophos;i="5.88,248,1635177600"; d="scan'208";a="119750106" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 30 Dec 2021 20:15:25 +0800 Received: from G08CNEXMBPEKD05.g08.fujitsu.local (unknown [10.167.33.204]) by cn.fujitsu.com (Postfix) with ESMTP id 0AD674D15A20; Thu, 30 Dec 2021 20:15:20 +0800 (CST) Received: from G08CNEXJMPEKD02.g08.fujitsu.local (10.167.33.202) by G08CNEXMBPEKD05.g08.fujitsu.local (10.167.33.204) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Thu, 30 Dec 2021 20:15:21 +0800 Received: from G08CNEXCHPEKD09.g08.fujitsu.local (10.167.33.85) by G08CNEXJMPEKD02.g08.fujitsu.local (10.167.33.202) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Thu, 30 Dec 2021 20:15:20 +0800 Received: from Fedora-31.g08.fujitsu.local (10.167.220.99) by G08CNEXCHPEKD09.g08.fujitsu.local (10.167.33.209) with Microsoft SMTP Server id 15.0.1497.23 via Frontend Transport; Thu, 30 Dec 2021 20:15:17 +0800 From: Xiao Yang To: CC: , , , , , , Xiao Yang Subject: [RFC PATCH 0/2] RDMA/rxe: Add RDMA Atomic Write operation Date: Thu, 30 Dec 2021 20:14:21 +0800 Message-ID: <20211230121423.1919550-1-yangx.jy@fujitsu.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-yoursite-MailScanner-ID: 0AD674D15A20.A701B X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: yangx.jy@fujitsu.com Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org 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(-)