Linux-RDMA Archive on lore.kernel.org
 help / color / 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
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 index

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06 21:01 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

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git