From patchwork Wed Feb 27 06:27:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Parav Pandit X-Patchwork-Id: 10831255 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8BEA01390 for ; Wed, 27 Feb 2019 06:27:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7023B2D0CB for ; Wed, 27 Feb 2019 06:27:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 636CB2D0E3; Wed, 27 Feb 2019 06:27:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0B9D12D0CB for ; Wed, 27 Feb 2019 06:27:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729781AbfB0G1Y (ORCPT ); Wed, 27 Feb 2019 01:27:24 -0500 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:46620 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726889AbfB0G1X (ORCPT ); Wed, 27 Feb 2019 01:27:23 -0500 Received: from Internal Mail-Server by MTLPINE1 (envelope-from parav@mellanox.com) with ESMTPS (AES256-SHA encrypted); 27 Feb 2019 08:27:22 +0200 Received: from sw-mtx-036.mtx.labs.mlnx (sw-mtx-036.mtx.labs.mlnx [10.12.150.149]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x1R6RKg2027331; Wed, 27 Feb 2019 08:27:21 +0200 From: Parav Pandit To: bvanassche@acm.org, linux-rdma@vger.kernel.org Cc: parav@mellanox.com Subject: [EXPERIMENTAL v1 0/4] RDMA loopback device Date: Wed, 27 Feb 2019 00:27:13 -0600 Message-Id: <1551248837-64041-1-git-send-email-parav@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patchset adds RDMA loopback driver. Initially for RoCE which works on lo netdevice. It is tested with with nvme fabrics over ext4, perftests, and rping. It only supports RC and GSI QPs. It supports only RoCEv2 GIDs which belongs to loopback lo netdevice. It is only posted for discussion [1]. It is not yet ready for RFC posting or merge. Its counter part rdma-core will be posted shortly. [1] https://www.spinics.net/lists/linux-rdma/msg76285.html --- Changelog: v0->v1: - Added rdmacm patcch which I missed in first v0 patchset. Parav Pandit (4): RDMA/cma: Add support for loopback netdevice RDMA/loopback: Add helper lib for resources and cqe fifo RDMA/loopback: Loopback rdma (RoCE) driver RDMA/loopback: Support Fast memory registration drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/cma.c | 134 +- drivers/infiniband/sw/Makefile | 1 + drivers/infiniband/sw/loopback/Kconfig | 14 + drivers/infiniband/sw/loopback/Makefile | 4 + drivers/infiniband/sw/loopback/helper.c | 139 ++ drivers/infiniband/sw/loopback/loopback.c | 1690 ++++++++++++++++++++++ drivers/infiniband/sw/loopback/loopback_helper.h | 68 + include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 + 9 files changed, 1930 insertions(+), 122 deletions(-) create mode 100644 drivers/infiniband/sw/loopback/Kconfig create mode 100644 drivers/infiniband/sw/loopback/Makefile create mode 100644 drivers/infiniband/sw/loopback/helper.c create mode 100644 drivers/infiniband/sw/loopback/loopback.c create mode 100644 drivers/infiniband/sw/loopback/loopback_helper.h