All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Saleem, Shiraz" <shiraz.saleem@intel.com>
To: "dledford@redhat.com" <dledford@redhat.com>,
	"jgg@nvidia.com" <jgg@nvidia.com>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>
Cc: "linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"Ertman, David M" <david.m.ertman@intel.com>,
	"Nguyen, Anthony L" <anthony.l.nguyen@intel.com>
Subject: RE: [PATCH v4 00/23] Add Intel Ethernet Protocol Driver for RDMA (irdma)
Date: Tue, 6 Apr 2021 21:05:10 +0000	[thread overview]
Message-ID: <a76853a97dda4ccb96c35d4095e4866a@intel.com> (raw)
In-Reply-To: <20210406210125.241-1-shiraz.saleem@intel.com>

> Subject: [PATCH v4 00/23] Add Intel Ethernet Protocol Driver for RDMA (irdma)
> 
> The following patch series introduces a unified Intel Ethernet Protocol Driver for
> RDMA (irdma) for the X722 iWARP device and a new E810 device which supports
> iWARP and RoCEv2. The irdma module replaces the legacy i40iw module for X722
> and extends the ABI already defined for i40iw. It is backward compatible with
> legacy X722 rdma-core provider (libi40iw).
> 
> X722 and E810 are PCI network devices that are RDMA capable. The RDMA block
> of this parent device is represented via an auxiliary device exported to 'irdma'
> using the core auxiliary bus infrastructure recently added for 5.11 kernel.
> The parent PCI netdev drivers 'i40e' and 'ice' register auxiliary RDMA devices with
> private data/ops encapsulated that bind to auxiliary drivers registered in irdma
> module.
> 
> This patchset was initially submitted as an RFC where in we got feedback to come
> up with a generic scheme for RDMA drivers to attach to a PCI device owned by
> netdev PCI driver [1]. Solutions using platform bus and MFD were explored but
> rejected by the community and the consensus was to add a new bus infrastructure
> to support this usage model.
> 
> Further revisions of this series along with the auxiliary bus were submitted [2]. At
> this point, Greg KH requested that we take the auxiliary bus review and revision
> process to an internal mailing list and garner the buy-in of a respected kernel
> contributor, along with consensus of all major stakeholders including Nvidia (for
> mlx5 sub-function use-case) and Intel sound driver. This process took a while and
> stalled further development/review of this netdev/irdma series.
> The auxiliary bus was eventually merged in 5.11.
> 
> Between v1 to v2 of this submission, the IIDC went through a major re-write based
> on the feedback and we hope it is now more in alignment with what the community
> wants.
> 
> This series is built against rdma for-next and currently includes the netdev patches
> for ease of review. This includes updates to 'ice' driver to provide RDMA support
> and converts 'i40e' driver to use the auxiliary bus infrastructure.
> Once the patches are closer to merging, a shared pull request will be submitted.
> 
> v3-->v4:
> * Fixup W=1 warnings in ice patches
> * Fix issues uncovered by pyverbs for create user AH and multicast
> * Fix descriptor set issue for fast register introduced during port to FIELD_PREP
> in v2 submission
> 
> v2-->v3:
> * rebase rdma for-next. Adapt to core change '1fb7f8973f51 ("RDMA: Support
> more than 255 rdma ports")'
> * irdma Kconfig updates to conform with linux coding style.
> * Fix a 0-day build issue
> * Remove rdma_resource_limits selector devlink param. Follow on patch to be
> submitted for it with suggestion from Parav to use devlink resource.
> * Capitalize abbreviations in ice idc. e.g. 'aux' to 'AUX'
> 
> v1-->v2:
> * Remove IIDC channel OPs - open, close, peer_register and peer_unregister.
>   And all its associated FSM in ice PCI core driver.
> * Use device_lock in ice PCI core driver while issuing IIDC ops callbacks.
> * Remove peer_* verbiage from shared IIDC header and rename the structs and
> channel ops
>   with iidc_core*/iidc_auxiliary*.
> * Allocate ib_device at start and register it at the end of drv.probe() in irdma gen2
> auxiliary driver.
> * Use ibdev_* printing extensively throughout most of the driver
>   Remove idev_to_dev, ihw_to_dev macros as no longer required in new print
> scheme.
> * Do not bump ABI ver. to 6 in irdma. Maintain irdma ABI ver. at 5 for legacy i40iw
> user-provider compatibility.
> * Add a boundary check in irdma_alloc_ucontext to fail binding with < 4 user-space
> provider version.
> * Remove devlink from irdma. Add 2 new rdma-related devlink parameters added
> to ice PCI core driver.
> * Use FIELD_PREP/FIELD_GET/GENMASK on get/set of descriptor fields versus
> home grown ones LS_*/RS_*.
> * Bind 2 separate auxiliary drivers in irdma - one for gen1 and one for gen2 and
> future devices.
> * Misc. driver fixes in irdma
> 
> [1] https://patchwork.kernel.org/project/linux-rdma/patch/20190215171107.6464-2-
> shiraz.saleem@intel.com/
> [2] https://lore.kernel.org/linux-rdma/20200520070415.3392210-1-
> jeffrey.t.kirsher@intel.com/
> 

The irdma rdma-core provider will be send out shortly.

Shiraz

  parent reply	other threads:[~2021-04-06 21:05 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06 21:01 [PATCH v4 00/23] Add Intel Ethernet Protocol Driver for RDMA (irdma) Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 01/23] iidc: Introduce iidc.h Shiraz Saleem
2021-04-07 15:44   ` Jason Gunthorpe
2021-04-07 20:58     ` Saleem, Shiraz
2021-04-07 22:43       ` Jason Gunthorpe
2021-04-08  7:14         ` Leon Romanovsky
2021-04-09  1:38           ` Saleem, Shiraz
2021-04-11 11:48             ` Leon Romanovsky
2021-04-12 14:50         ` Saleem, Shiraz
2021-04-12 16:12           ` Jason Gunthorpe
2021-04-15 17:36             ` Saleem, Shiraz
2021-04-07 17:35   ` Jason Gunthorpe
2021-04-12 14:51     ` Saleem, Shiraz
2021-04-06 21:01 ` [PATCH v4 02/23] ice: Initialize RDMA support Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 03/23] ice: Implement iidc operations Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 04/23] ice: Register auxiliary device to provide RDMA Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 05/23] ice: Add devlink params support Shiraz Saleem
2021-04-07 14:57   ` Jason Gunthorpe
2021-04-07 20:58     ` Saleem, Shiraz
2021-04-07 22:46       ` Jason Gunthorpe
2021-04-12 14:50         ` Saleem, Shiraz
2021-04-12 19:07           ` Parav Pandit
2021-04-13  4:03             ` Parav Pandit
2021-04-13 14:40             ` Saleem, Shiraz
2021-04-13 17:36               ` Parav Pandit
2021-04-14  0:21                 ` Saleem, Shiraz
2021-04-14  5:27                   ` Parav Pandit
2021-04-18 11:51                   ` Leon Romanovsky
2021-04-06 21:01 ` [PATCH v4 06/23] i40e: Prep i40e header for aux bus conversion Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 07/23] i40e: Register auxiliary devices to provide RDMA Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 08/23] RDMA/irdma: Register auxiliary driver and implement private channel OPs Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 09/23] RDMA/irdma: Implement device initialization definitions Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 10/23] RDMA/irdma: Implement HW Admin Queue OPs Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 11/23] RDMA/irdma: Add HMC backing store setup functions Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 12/23] RDMA/irdma: Add privileged UDA queue implementation Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 13/23] RDMA/irdma: Add QoS definitions Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 14/23] RDMA/irdma: Add connection manager Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 15/23] RDMA/irdma: Add PBLE resource manager Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 16/23] RDMA/irdma: Implement device supported verb APIs Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 17/23] RDMA/irdma: Add RoCEv2 UD OP support Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 18/23] RDMA/irdma: Add user/kernel shared libraries Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 19/23] RDMA/irdma: Add miscellaneous utility definitions Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 20/23] RDMA/irdma: Add dynamic tracing for CM Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 21/23] RDMA/irdma: Add ABI definitions Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 22/23] RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw Shiraz Saleem
2021-04-06 21:01 ` [PATCH v4 23/23] RDMA/irdma: Update MAINTAINERS file Shiraz Saleem
2021-04-06 21:05 ` Saleem, Shiraz [this message]
2021-04-06 23:15 ` [PATCH v4 00/23] Add Intel Ethernet Protocol Driver for RDMA (irdma) Jason Gunthorpe
2021-04-06 23:30   ` Saleem, Shiraz
2021-04-07  0:18     ` Saleem, Shiraz
2021-04-07 11:31     ` Jason Gunthorpe
2021-04-07 15:06       ` Saleem, Shiraz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a76853a97dda4ccb96c35d4095e4866a@intel.com \
    --to=shiraz.saleem@intel.com \
    --cc=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --cc=david.m.ertman@intel.com \
    --cc=dledford@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.