Message ID | 1667502990-2559-1-git-send-email-longli@linuxonhyperv.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp719974wru; Thu, 3 Nov 2022 12:17:48 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6RUuCndua+toB2p7ch045fM9m1J4tA5EVxF1Up4Ka6r3dY3zAROaj0ACV+TKqau/mjRtK0 X-Received: by 2002:a17:90b:3144:b0:215:db2e:bc6e with SMTP id ip4-20020a17090b314400b00215db2ebc6emr7188401pjb.12.1667503067893; Thu, 03 Nov 2022 12:17:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667503067; cv=none; d=google.com; s=arc-20160816; b=a8ezZ51VeYVqqSrVYqLrQ+SGWA8Dav7U6iVMQJgGa+eXgdEMpffXjE6etNzKDnjQjP AXq6CxSg4WtktumFKi7MxVV4evIuXQE3LEFQ7kB6f/4B6FOWgc3e1a5lAu7yzr9Js9ls ylvNyehcG5IsdxpgVGNCyclS/20t1Ftv8IiLQFpfofRjY148Ag3cyqJkhSD0dAE/VJ7L LpjWK7wRaWhcdmf+XuMRxtPaFN2uotnaNINmzaLvJxNBxGfaposJmAbL6MTmBRgaIq6y GfrYrylbQ4wg11zkYc+dE5grpTqDhW6OdfdxW9KuRvuyLVwJVmRrJGmWR6RDD+nHb5De 2omw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=kadn+aTf3nW20UCiL7FSGugZ1f36OZduTmq6RjMWCWQ=; b=YDLjwCzEdo3sXDpVxL5NlUSrJ4FEUHuaDj/0BOXUWF4FmWQm2Q6YjiEPAn7a3afEGk op9XrUtOqVwfd5C38enAnbPR+VIfpApeGj/grctVqmBB754RAPJqlA20NZN4FM82c4Pm phq9A9XdJ+SFTzZpU7H0Vo5bmSannWRVh7CnYqpWCQg0fA48djRXzXkdgfmdI8mWybmq fvB0CTHBy8gBNXA93qV6NcPV2zbLpIKsOCJvrK6eScXCGbqitM3AHMyJl8WyhrlShOgv obIYAlw3U3xTunFb/MlFGr15ehQXVOAS3gWTmiWznggmhXTUKYD/kLA5c1tt539rJWEm 1cmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=EPwRK0Eu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o5-20020a056a001bc500b0056d0fcb04f1si1631681pfw.92.2022.11.03.12.17.32; Thu, 03 Nov 2022 12:17:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxonhyperv.com header.s=default header.b=EPwRK0Eu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxonhyperv.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231386AbiKCTQw (ORCPT <rfc822;yves.mi.zy@gmail.com> + 99 others); Thu, 3 Nov 2022 15:16:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230041AbiKCTQu (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 3 Nov 2022 15:16:50 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id DECFF1D306; Thu, 3 Nov 2022 12:16:48 -0700 (PDT) Received: by linux.microsoft.com (Postfix, from userid 1004) id 9DBBE20B9F81; Thu, 3 Nov 2022 12:16:48 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9DBBE20B9F81 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1667503008; bh=kadn+aTf3nW20UCiL7FSGugZ1f36OZduTmq6RjMWCWQ=; h=From:To:Cc:Subject:Date:Reply-To:From; b=EPwRK0Eu0s1m8QfOiv2DXRMPZhHvxaaLj88sjHqt59UdZ5H7vMKf/MqKc1CvgcvLA 5jIsw7cU+k7hI3HKH0nr7P/7ycaj6g/D800LCw9j7vsIaoz7e2zNCCPqTUjeJh7fTs tKKIlrnFi2COMblXApZYP4EARmd75etsD21y8lSU= From: longli@linuxonhyperv.com To: "K. Y. Srinivasan" <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>, edumazet@google.com, shiraz.saleem@intel.com, Ajay Sharma <sharmaajay@microsoft.com> Cc: linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Long Li <longli@microsoft.com> Subject: [Patch v10 00/12] Introduce Microsoft Azure Network Adapter (MANA) RDMA driver Date: Thu, 3 Nov 2022 12:16:18 -0700 Message-Id: <1667502990-2559-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 Reply-To: longli@microsoft.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748503696729892766?= X-GMAIL-MSGID: =?utf-8?q?1748503696729892766?= |
Series |
Introduce Microsoft Azure Network Adapter (MANA) RDMA driver
|
|
Message
longli@linuxonhyperv.com
Nov. 3, 2022, 7:16 p.m. UTC
From: Long Li <longli@microsoft.com>
This patchset implements a RDMA driver for Microsoft Azure Network
Adapter (MANA). In MANA, the RDMA device is modeled as an auxiliary device
to the Ethernet device.
The first 11 patches modify the MANA Ethernet driver to support RDMA driver.
The last patch implementes the RDMA driver.
The user-mode of the driver is being reviewed at:
https://github.com/linux-rdma/rdma-core/pull/1177
Ajay Sharma (3):
net: mana: Set the DMA device max segment size
net: mana: Define and process GDMA response code
GDMA_STATUS_MORE_ENTRIES
net: mana: Define data structures for protection domain and memory
registration
Long Li (9):
net: mana: Add support for auxiliary device
net: mana: Record the physical address for doorbell page region
net: mana: Handle vport sharing between devices
net: mana: Export Work Queue functions for use by RDMA driver
net: mana: Record port number in netdev
net: mana: Move header files to a common location
net: mana: Define max values for SGL entries
net: mana: Define data structures for allocating doorbell page from
GDMA
RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter
MAINTAINERS | 10 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/mana/Kconfig | 10 +
drivers/infiniband/hw/mana/Makefile | 4 +
drivers/infiniband/hw/mana/cq.c | 79 +++
drivers/infiniband/hw/mana/device.c | 117 ++++
drivers/infiniband/hw/mana/main.c | 521 ++++++++++++++++++
drivers/infiniband/hw/mana/mana_ib.h | 162 ++++++
drivers/infiniband/hw/mana/mr.c | 197 +++++++
drivers/infiniband/hw/mana/qp.c | 506 +++++++++++++++++
drivers/infiniband/hw/mana/wq.c | 115 ++++
drivers/net/ethernet/microsoft/Kconfig | 1 +
.../net/ethernet/microsoft/mana/gdma_main.c | 40 +-
.../net/ethernet/microsoft/mana/hw_channel.c | 6 +-
.../net/ethernet/microsoft/mana/mana_bpf.c | 2 +-
drivers/net/ethernet/microsoft/mana/mana_en.c | 175 +++++-
.../ethernet/microsoft/mana/mana_ethtool.c | 2 +-
.../net/ethernet/microsoft/mana/shm_channel.c | 2 +-
.../microsoft => include/net}/mana/gdma.h | 158 +++++-
.../net}/mana/hw_channel.h | 0
.../microsoft => include/net}/mana/mana.h | 23 +-
include/net/mana/mana_auxiliary.h | 10 +
.../net}/mana/shm_channel.h | 0
include/uapi/rdma/ib_user_ioctl_verbs.h | 1 +
include/uapi/rdma/mana-abi.h | 66 +++
26 files changed, 2164 insertions(+), 45 deletions(-)
create mode 100644 drivers/infiniband/hw/mana/Kconfig
create mode 100644 drivers/infiniband/hw/mana/Makefile
create mode 100644 drivers/infiniband/hw/mana/cq.c
create mode 100644 drivers/infiniband/hw/mana/device.c
create mode 100644 drivers/infiniband/hw/mana/main.c
create mode 100644 drivers/infiniband/hw/mana/mana_ib.h
create mode 100644 drivers/infiniband/hw/mana/mr.c
create mode 100644 drivers/infiniband/hw/mana/qp.c
create mode 100644 drivers/infiniband/hw/mana/wq.c
rename {drivers/net/ethernet/microsoft => include/net}/mana/gdma.h (80%)
rename {drivers/net/ethernet/microsoft => include/net}/mana/hw_channel.h (100%)
rename {drivers/net/ethernet/microsoft => include/net}/mana/mana.h (95%)
create mode 100644 include/net/mana/mana_auxiliary.h
rename {drivers/net/ethernet/microsoft => include/net}/mana/shm_channel.h (100%)
create mode 100644 include/uapi/rdma/mana-abi.h
Comments
On Thu, Nov 03, 2022 at 12:16:18PM -0700, longli@linuxonhyperv.com wrote: > From: Long Li <longli@microsoft.com> > > This patchset implements a RDMA driver for Microsoft Azure Network > Adapter (MANA). In MANA, the RDMA device is modeled as an auxiliary device > to the Ethernet device. > > The first 11 patches modify the MANA Ethernet driver to support RDMA driver. > The last patch implementes the RDMA driver. <...> > drivers/net/ethernet/microsoft/Kconfig | 1 + > .../net/ethernet/microsoft/mana/gdma_main.c | 40 +- > .../net/ethernet/microsoft/mana/hw_channel.c | 6 +- > .../net/ethernet/microsoft/mana/mana_bpf.c | 2 +- > drivers/net/ethernet/microsoft/mana/mana_en.c | 175 +++++- > .../ethernet/microsoft/mana/mana_ethtool.c | 2 +- > .../net/ethernet/microsoft/mana/shm_channel.c | 2 +- > .../microsoft => include/net}/mana/gdma.h | 158 +++++- > .../net}/mana/hw_channel.h | 0 > .../microsoft => include/net}/mana/mana.h | 23 +- > include/net/mana/mana_auxiliary.h | 10 + > .../net}/mana/shm_channel.h | 0 > include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + > include/uapi/rdma/mana-abi.h | 66 +++ Hi netdev maintainers, Can you please ACK/comment on eth part of this series? And how should we proceed? Should we take this driver through shared branch or apply directly to RDMA tree? Thanks
On Tue, 8 Nov 2022 21:14:51 +0200 Leon Romanovsky wrote: > Can you please ACK/comment on eth part of this series? And how should > we proceed? Should we take this driver through shared branch or apply > directly to RDMA tree? LGTM. Is it possible to get patches 1-11 thry a shared branch and then you can apply 12 directly to RDMA? That seems optimal to me.
On Tue, Nov 08, 2022 at 03:05:29PM -0800, Jakub Kicinski wrote: > On Tue, 8 Nov 2022 21:14:51 +0200 Leon Romanovsky wrote: > > Can you please ACK/comment on eth part of this series? And how should > > we proceed? Should we take this driver through shared branch or apply > > directly to RDMA tree? > > LGTM. Is it possible to get patches 1-11 thry a shared branch and then > you can apply 12 directly to RDMA? That seems optimal to me. Of course. Thanks
On Tue, Nov 08, 2022 at 03:05:29PM -0800, Jakub Kicinski wrote: > On Tue, 8 Nov 2022 21:14:51 +0200 Leon Romanovsky wrote: > > Can you please ACK/comment on eth part of this series? And how should > > we proceed? Should we take this driver through shared branch or apply > > directly to RDMA tree? > > LGTM. Is it possible to get patches 1-11 thry a shared branch and then > you can apply 12 directly to RDMA? That seems optimal to me. Please pull, I collected everything from ML and created shared branch. The following changes since commit f0c4d9fc9cc9462659728d168387191387e903cc: Linux 6.1-rc4 (2022-11-06 15:07:11 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/ mana-shared-6.2 for you to fetch changes up to 1e6e19c6e1c100be3d6511345842702a24c155b9: net: mana: Define data structures for protection domain and memory registration (2022-11-09 20:41:17 +0200) Thanks
On Wed, 9 Nov 2022 20:48:40 +0200 Leon Romanovsky wrote: > Please pull, I collected everything from ML and created shared branch. > > The following changes since commit f0c4d9fc9cc9462659728d168387191387e903cc: > > Linux 6.1-rc4 (2022-11-06 15:07:11 -0800) > > are available in the Git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/ mana-shared-6.2 > > for you to fetch changes up to 1e6e19c6e1c100be3d6511345842702a24c155b9: > > net: mana: Define data structures for protection domain and memory registration (2022-11-09 20:41:17 +0200) It's not on a common base with net-next. Could you rebase on something that's at or below git merge-base ?
On Wed, Nov 09, 2022 at 12:05:44PM -0800, Jakub Kicinski wrote: > On Wed, 9 Nov 2022 20:48:40 +0200 Leon Romanovsky wrote: > > Please pull, I collected everything from ML and created shared branch. > > > > The following changes since commit f0c4d9fc9cc9462659728d168387191387e903cc: > > > > Linux 6.1-rc4 (2022-11-06 15:07:11 -0800) > > > > are available in the Git repository at: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/ mana-shared-6.2 > > > > for you to fetch changes up to 1e6e19c6e1c100be3d6511345842702a24c155b9: > > > > net: mana: Define data structures for protection domain and memory registration (2022-11-09 20:41:17 +0200) > > > It's not on a common base with net-next. > Could you rebase on something that's at or below git merge-base ? Done, I downgraded the branch to be based on -rc3. Thanks
On Thu, 10 Nov 2022 07:58:57 +0200 Leon Romanovsky wrote: > > > Please pull, I collected everything from ML and created shared branch. > > > > > > The following changes since commit f0c4d9fc9cc9462659728d168387191387e903cc: > > > > > > Linux 6.1-rc4 (2022-11-06 15:07:11 -0800) > > > > > > are available in the Git repository at: > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/ mana-shared-6.2 > > > > > > for you to fetch changes up to 1e6e19c6e1c100be3d6511345842702a24c155b9: > > > > > > net: mana: Define data structures for protection domain and memory registration (2022-11-09 20:41:17 +0200) > > > > > > It's not on a common base with net-next. > > Could you rebase on something that's at or below git merge-base ? > > Done, I downgraded the branch to be based on -rc3. Perfect, pulled, I'll push it out once the build goes thru (there won't be a pw-bot notification). Thank you!
On Thu, 3 Nov 2022 12:16:18 -0700, longli@linuxonhyperv.com wrote: > From: Long Li <longli@microsoft.com> > > This patchset implements a RDMA driver for Microsoft Azure Network > Adapter (MANA). In MANA, the RDMA device is modeled as an auxiliary device > to the Ethernet device. > > The first 11 patches modify the MANA Ethernet driver to support RDMA driver. > The last patch implementes the RDMA driver. > > [...] Applied, thanks! [12/12] RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter https://git.kernel.org/rdma/rdma/c/0266a177631d4c Best regards,