DPDK patches and discussions
 help / color / mirror / Atom feed
From: Parav Pandit <parav@mellanox.com>
To: dev@dpdk.org, grive@u256.net, ferruh.yigit@intel.com,
	thomas@monjalon.net
Cc: rasland@mellanox.com, orika@mellanox.com, matan@mellanox.com,
	joyce.kong@arm.com, Parav Pandit <parav@mellanox.com>
Subject: [dpdk-dev] [PATCH v10 00/10] Improve mlx5 PMD driver framework for multiple classes
Date: Fri, 24 Jul 2020 17:38:56 +0300	[thread overview]
Message-ID: <20200724143906.7453-1-parav@mellanox.com> (raw)
In-Reply-To: <20200610171728.89-2-parav@mellanox.com>

This series introduces mlx5 common driver layer to support multiple
class of devices for a single PCI device.

Motivation and example
----------------------
mlx5 PCI device supports multiple class of devices such as net, vdpa
and regex devices.

Currently only one pmd (either net or vdpa) can bind to this device.
This design limits use of PCI device only for single device class.

To support multiple classes simultaneously for a mlx5 PCI device,
mlx5 common module is extended as generic PCI PMD.
This PMD enables multiple class PMDS (net, regex, vdpa) to be loaded
on a single PCI Device.

Change description
------------------
Patch-1 Introduces RTE_BIT() macro
Patch-2 Fixed indentation for directory listing
Patch-3 Relax dependency order
Patch-4 Fixes compilation error
Patch-5 Fixes segmentation fault in regex probe error unwind path
Patch-6 Avoid using class constructor priority
Patch-7 Change class values as bits
Patch-8 Introduce mlx5 layer to support multiple class drivers
Patch-9 Migrates mlx5 net and vdpa driver to use mlx5 PCI driver API
        instead of rte PCI bus API
Patch-10 Removed class check code from class drivers 

Design overview
---------------

 -----------    ------------    -------------
 |   mlx5  |    |   mlx5   |    |   mlx5    |
 | net pmd |    | vdpa pmd |    | regex pmd |
 -----------    ------------    -------------
      \              |                /
       \             |               /
        \       ---------------     /
         \______| mlx5 common |____/
                |    pmd      |
                --------------- 
                     |
                 ----------- 
                 |   mlx5  | 
                 | pci dev | 
                 ----------- 

- mlx5 common driver binds to mlx5 PCI devices defined by PCI
  ID table of all related mlx5 PCI devices.
- mlx5 class driver such as net, vdpa, regex PMD define their
  specific PCI ID tables. mlx5 common driver probes each
  individual class driver(s) for maching and enabled classes.
- mlx5 pci layer is cental place that validates supported
  class combinations.
- In future as code evolves, more device setup/cleanup and
  resource creation code moves to mlx5 PCI common driver.

Alternatives considered
-----------------------
1. Instead of creating mlx5 pci common PMD, a common driver is
implemented which exposes class registration API.
However, common PMD model fits better with existing DPDK design
similar to ifpga driver. Class registration API need to create a
new callbacks and ID signature; instead it is better to utilize
current well defined methods.

2. Enhance pci core to allow multiple driver binding to single
rte PCI device.
This approach is not taken, because peer drivers using one PCI
device won't be aware of other's presence. This requires
cross-driver syncronization of who initializes common resources
(such as irq, eq and more).
This also requires refcounting common objects etc among peer drivers.
Instead of layered approach delivers and allows putting common resource
sharing, setup code in common driver.
It also eliminates peer blind zone problem as bottom pci layer provides
necessary setup without any reference counting.

3. In future mlx5 prefers to use RDMA MR cache of the mbuf used
between net and regex pmd so that same mbuf use across multiple
device can be possible.

Examples:
--------
A user who wish to use a specific class(es) provides list of classes
at command line such as,
./testpmd -w <PCI BDF>,class=net:regex
./testpmd -w <PCI BDF>,class=vdpa

Changelog:
v9->v10:
 - Fixed checkpatch warnings related to spelling mistakes and alignment
v8->v9:
 - Updated commit message
 - Fixed LD_FLAGS
 - Fixed white space to tab
 - Fixed Makefile to have dependency on common/mlx5 for parallel builds
v7->v8:
 - Instead of dedicated mlx5 bus driver, merged the PMD to common_mlx5
 - Avoided new RTE PRIORITY
 - Removed mlx5 common to use RTE_PRIORITY_CLASS
v6->v7:
 - Updated release notes
v5->v6:
 - Fixed compilation failure in parallel build for shared lib
v4->v5:
 - Squash the maintainers update path with other patch which adds the
   bus
 - Addressed comments from Morten Brørup
 - Renamed newly added macro to RTE_BIT64
 - Added doxygen comment section for the macro
v3->v4:
 - Fixed dma_map error unwinding flow to follow same order for unmap
v2->v3:
 - Added RTE priority for common driver initialization
 - Addressed comments from Thomas and Asaf
 - Fixed compilation error in glue wrapper
 - Moved pci_driver structure instance as first in driver
 - Removed white spaces at the end of line in diagram
 - Address commnts from Matan
 - Removed CONFIG_RTE_LIBRTE_MLX5_PCI_BUS from config files
 - Renamed mlx5_valid_class_combo to mlx5_class_combinations
 - Added cross check for class drivers to support only 3 flags for now
 - Added full stop at the end of comment block
 - Using full names in function names
 - Added new line before function name in multiple functions
 - Added example string to parse for multiple classes
 - Dropped mlx5 prefix from static function
 - Removed empty lines
 - Fixed issue to remove multiple classes for a driver
 - Using define for drv_flags at multiple places
 - Deriving drv_flags based on the class drivers
 - Fixed alignment for id_table
 - Perform dma map on best effort basis for all supported drivers
 - Dynamically build pci id table
 - Using PCI to mlx5 device helper routines
v1->v2:
 - Addressed most comments from Thomas and Gaetan.
 - Symbols starting with prefix rte_bus_pci_mlx5 may be
   confusing as it may appear as it belong to rte_bus_pci module.
   Hence it is kept as rte_bus_mlx5_pci which matches with other
   modules as mlx5_vdpa, mlx5_net.
 - Dropped 2nd patch and replace with new 6th patch.
 - Avoided new file, added macro to rte_bitops.h
 - Inheriting ret_pci_driver instead of rte_driver
 - Added design and description of the mlx5_pci bus
 - Enhanced driver to honor RTE_PCI_DRV_PROBE_AGAIN drv_flag
 - Use anonymous structure for class search and code changes around it
 - Define static for class comination array
 - Use RTE_DIM to find array size
 - Added OOM check for strdup()
 - Renamed copy variable to nstr_orig
 - Returning negagive error code
 - Returning directly if match entry found
 - Use compat condition check
 - Avoided cutting error message string
 - Use uint32_t datatype instead of enum mlx5_class
 - Changed logic to parse device arguments only once during probe()
 - Added check to fail driver probe if multiple classes register with
   DMA ops
 - Renamed function to parse_class_options
 - Migreate API from rte_driver to rte_pci_driver

Parav Pandit (8):
  eal: introduce macro for bit definition
  common/mlx5: fix void parameters in glue wrappers
  regex/mlx5: fix segmentation fault during error unwinding
  common/mlx5: avoid using class constructor priority
  common/mlx5: change class values as bits
  common/mlx5: introduce layer to support multiple class drivers
  common/mlx5: register class drivers through common layer
  common/mlx5: remove class check from class drivers

Thomas Monjalon (2):
  drivers: fix indent of directory list
  drivers: relax dependency order

 drivers/Makefile                              |  10 +-
 drivers/common/Makefile                       |   4 -
 drivers/common/meson.build                    |   2 +-
 drivers/common/mlx5/Makefile                  |   2 +
 drivers/common/mlx5/linux/mlx5_glue.h         |   4 +-
 drivers/common/mlx5/meson.build               |   9 +-
 drivers/common/mlx5/mlx5_common.c             |  52 +-
 drivers/common/mlx5/mlx5_common.h             |  12 +-
 drivers/common/mlx5/mlx5_common_pci.c         | 539 ++++++++++++++++++
 drivers/common/mlx5/mlx5_common_pci.h         |  77 +++
 .../common/mlx5/rte_common_mlx5_version.map   |   4 +-
 drivers/meson.build                           |  51 +-
 drivers/net/mlx5/Makefile                     |   1 -
 drivers/net/mlx5/linux/mlx5_os.c              |   6 -
 drivers/net/mlx5/mlx5.c                       |  25 +-
 drivers/net/mlx5/mlx5.h                       |   1 -
 drivers/regex/mlx5/meson.build                |   2 +-
 drivers/regex/mlx5/mlx5_regex.c               |  29 +-
 drivers/vdpa/mlx5/Makefile                    |   2 +-
 drivers/vdpa/mlx5/meson.build                 |   2 +-
 drivers/vdpa/mlx5/mlx5_vdpa.c                 |  29 +-
 lib/librte_eal/include/rte_bitops.h           |   8 +
 22 files changed, 748 insertions(+), 123 deletions(-)
 create mode 100644 drivers/common/mlx5/mlx5_common_pci.c
 create mode 100644 drivers/common/mlx5/mlx5_common_pci.h

-- 
2.26.2


  parent reply	other threads:[~2020-07-24 14:39 UTC|newest]

Thread overview: 193+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-10 17:17 [dpdk-dev] [RFC PATCH 0/6] Improve mlx5 PMD common " Parav Pandit
2020-06-10 17:17 ` [dpdk-dev] [RFC PATCH 1/6] eal: introduce macros for getting value for bit Parav Pandit
2020-06-15 19:33   ` Gaëtan Rivet
2020-06-17  8:05     ` Thomas Monjalon
2020-06-18  9:25       ` Parav Pandit
2020-06-18 12:16         ` Parav Pandit
2020-06-18 12:22           ` Thomas Monjalon
2020-06-18 13:20             ` Parav Pandit
2020-06-21 19:11   ` [dpdk-dev] [PATCH v2 0/6] Improve mlx5 PMD common driver framework for multiple classes Parav Pandit
2020-06-21 19:11     ` [dpdk-dev] [PATCH v2 1/6] eal: introduce macros for getting value for bit Parav Pandit
2020-06-21 19:11     ` [dpdk-dev] [PATCH v2 2/6] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-06-21 19:11     ` [dpdk-dev] [PATCH v2 3/6] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-06-29 14:01       ` Gaëtan Rivet
2020-06-21 19:11     ` [dpdk-dev] [PATCH v2 4/6] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-06-29 15:49       ` Gaëtan Rivet
2020-06-21 19:11     ` [dpdk-dev] [PATCH v2 5/6] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-06-21 19:12     ` [dpdk-dev] [PATCH v2 6/6] common/mlx5: Remove class checks from individual driver Parav Pandit
2020-07-03  9:12   ` [dpdk-dev] [PATCH v3 00/10] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 01/10] eal: introduce macros for getting value for bit Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 02/10] eal: introduce RTE common initialization level Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 03/10] common/mlx5: fix empty input style in glue wrappers Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 04/10] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 05/10] common/mlx5: use common rte priority Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 06/10] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 07/10] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-07-03 12:53       ` Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 08/10] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 09/10] common/mlx5: remove class checks from individual driver Parav Pandit
2020-07-03  9:12     ` [dpdk-dev] [PATCH v3 10/10] maintainers: add maintainers for mlx5 pci bus Parav Pandit
2020-07-03 13:46   ` [dpdk-dev] [PATCH v4 00/10] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 01/10] eal: introduce macros for getting value for bit Parav Pandit
2020-07-06 10:53       ` [dpdk-dev] [PATCH v4 01/10] eal: introduce macros for getting valuefor bit Morten Brørup
2020-07-07 11:38         ` Parav Pandit
2020-07-07 12:13           ` Thomas Monjalon
2020-07-07 12:40             ` Morten Brørup
2020-07-09  6:23               ` Parav Pandit
2020-07-09  7:15                 ` Morten Brørup
2020-07-09  7:30                   ` Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 02/10] eal: introduce RTE common initialization level Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 03/10] common/mlx5: fix empty input style in glue wrappers Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 04/10] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 05/10] common/mlx5: use common rte priority Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 06/10] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 07/10] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 08/10] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 09/10] common/mlx5: remove class checks from individual driver Parav Pandit
2020-07-03 13:46     ` [dpdk-dev] [PATCH v4 10/10] maintainers: add maintainers for mlx5 pci bus Parav Pandit
2020-07-09  7:34   ` [dpdk-dev] [PATCH v5 0/9] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 1/9] eal: introduce macros for getting value for bit Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 2/9] eal: introduce RTE common initialization level Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 3/9] common/mlx5: fix empty input style in glue wrappers Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 4/9] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 5/9] common/mlx5: use common rte priority Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 6/9] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 7/9] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 8/9] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-07-09  7:34     ` [dpdk-dev] [PATCH v5 9/9] common/mlx5: remove class checks from individual driver Parav Pandit
2020-07-16  7:29   ` [dpdk-dev] [PATCH v6 0/9] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 1/9] eal: introduce macros for getting value for bit Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 2/9] eal: introduce RTE common initialization level Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 3/9] common/mlx5: fix empty input style in glue wrappers Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 4/9] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 5/9] common/mlx5: use common rte priority Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 6/9] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 7/9] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 8/9] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-07-16  7:29     ` [dpdk-dev] [PATCH v6 9/9] common/mlx5: remove class checks from individual driver Parav Pandit
2020-07-17 13:49   ` [dpdk-dev] [PATCH v7 0/9] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 1/9] eal: introduce macros for getting value for bit Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 2/9] eal: introduce RTE common initialization level Parav Pandit
2020-07-20 16:21       ` Ferruh Yigit
2020-07-20 16:48         ` Thomas Monjalon
2020-07-20 16:58           ` Ferruh Yigit
2020-07-20 17:26             ` Ori Kam
2020-07-20 18:28               ` Ferruh Yigit
2020-07-20 19:19                 ` Ori Kam
2020-07-20 19:08           ` David Marchand
2020-07-20 19:30             ` Ori Kam
2020-07-21  9:34               ` David Marchand
2020-07-21 11:18                 ` Parav Pandit
2020-07-21 11:29                   ` David Marchand
2020-07-21 12:10                     ` Thomas Monjalon
2020-07-21 12:13                     ` Parav Pandit
2020-07-21 12:26                       ` Thomas Monjalon
2020-07-21 12:51                         ` Parav Pandit
2020-07-21 13:07                           ` Thomas Monjalon
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 3/9] common/mlx5: fix empty input style in glue wrappers Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 4/9] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 5/9] common/mlx5: use common rte priority Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 6/9] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 7/9] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 8/9] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-07-17 13:49     ` [dpdk-dev] [PATCH v7 9/9] common/mlx5: remove class checks from individual driver Parav Pandit
2020-07-19  7:28     ` [dpdk-dev] [PATCH v7 0/9] Improve mlx5 PMD driver framework for multiple classes Raslan Darawsheh
2020-07-23 20:09   ` [dpdk-dev] [PATCH v8 00/10] " Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 01/10] eal: introduce macro for bit definition Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 02/10] drivers: fix indent of directory list Parav Pandit
2020-07-24 10:44       ` Bruce Richardson
2020-07-24 13:27       ` David Marchand
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 03/10] drivers: relax dependency order Parav Pandit
2020-07-24 11:07       ` Bruce Richardson
2020-07-24 13:48         ` Parav Pandit
2020-07-24 13:54           ` Thomas Monjalon
2020-07-24 14:50             ` Bruce Richardson
2020-07-24 15:17               ` Parav Pandit
2020-07-24 15:29                 ` Bruce Richardson
2020-07-24 13:41       ` David Marchand
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 04/10] common/mlx5: fix void parameters in glue wrappers Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 05/10] regex/mlx5: fix segmentation fault during error unwinding Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 06/10] common/mlx5: avoid using class constructor priority Parav Pandit
2020-07-24 13:45       ` David Marchand
2020-07-24 13:47         ` Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 07/10] common/mlx5: change class values as bits Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 08/10] common/mlx5: introduce layer to support multiple class drivers Parav Pandit
2020-07-24 14:40       ` David Marchand
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 09/10] common/mlx5: register class drivers through common layer Parav Pandit
2020-07-23 20:09     ` [dpdk-dev] [PATCH v8 10/10] common/mlx5: remove class check from class drivers Parav Pandit
2020-07-24 14:23   ` [dpdk-dev] [PATCH v9 00/10] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-24 14:23     ` [dpdk-dev] [PATCH v9 01/10] eal: introduce macro for bit definition Parav Pandit
2020-07-24 14:23     ` [dpdk-dev] [PATCH v9 02/10] drivers: fix indent of directory list Parav Pandit
2020-07-24 14:23     ` [dpdk-dev] [PATCH v9 03/10] drivers: relax dependency order Parav Pandit
2020-07-24 14:23     ` [dpdk-dev] [PATCH v9 04/10] common/mlx5: fix void parameters in glue wrappers Parav Pandit
2020-07-24 14:23     ` [dpdk-dev] [PATCH v9 05/10] regex/mlx5: fix segmentation fault during error unwinding Parav Pandit
2020-07-24 14:23     ` [dpdk-dev] [PATCH v9 06/10] common/mlx5: avoid using class constructor priority Parav Pandit
2020-07-24 14:24     ` [dpdk-dev] [PATCH v9 07/10] common/mlx5: change class values as bits Parav Pandit
2020-07-24 14:24     ` [dpdk-dev] [PATCH v9 08/10] common/mlx5: introduce layer to support multiple class drivers Parav Pandit
2020-07-24 14:24     ` [dpdk-dev] [PATCH v9 09/10] common/mlx5: register class drivers through common layer Parav Pandit
2020-07-24 14:24     ` [dpdk-dev] [PATCH v9 10/10] common/mlx5: remove class check from class drivers Parav Pandit
2020-07-24 14:37     ` [dpdk-dev] [PATCH v9 00/10] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-24 14:38   ` Parav Pandit [this message]
2020-07-24 14:38     ` [dpdk-dev] [PATCH v10 01/10] eal: introduce macro for bit definition Parav Pandit
2020-07-24 18:31       ` Honnappa Nagarahalli
2020-07-27  8:21         ` Morten Brørup
2020-07-27 17:01           ` Parav Pandit
2020-07-28  2:18           ` Honnappa Nagarahalli
2020-07-28  8:24             ` Morten Brørup
2020-07-28  9:29               ` Gaëtan Rivet
2020-07-28 11:11                 ` Morten Brørup
2020-07-28 15:39                 ` Honnappa Nagarahalli
2020-07-28 15:59                   ` Thomas Monjalon
2020-07-24 14:38     ` [dpdk-dev] [PATCH v10 02/10] drivers: fix indent of directory list Parav Pandit
2020-07-24 14:38     ` [dpdk-dev] [PATCH v10 03/10] drivers: relax dependency order Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 04/10] common/mlx5: fix void parameters in glue wrappers Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 05/10] regex/mlx5: fix segmentation fault during error unwinding Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 06/10] common/mlx5: avoid using class constructor priority Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 07/10] common/mlx5: change class values as bits Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 08/10] common/mlx5: introduce layer to support multiple class drivers Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 09/10] common/mlx5: register class drivers through common layer Parav Pandit
2020-07-24 14:39     ` [dpdk-dev] [PATCH v10 10/10] common/mlx5: remove class check from class drivers Parav Pandit
2020-07-26 14:55   ` [dpdk-dev] [PATCH v11 00/10] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 01/10] eal: introduce macro for bit definition Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 02/10] drivers: fix indent of directory list Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 03/10] drivers: relax dependency order Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 04/10] common/mlx5: fix void parameters in glue wrappers Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 05/10] regex/mlx5: fix segmentation fault during error unwinding Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 06/10] common/mlx5: avoid using class constructor priority Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 07/10] common/mlx5: change class values as bits Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 08/10] common/mlx5: introduce layer to support multiple class drivers Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 09/10] common/mlx5: register class drivers through common layer Parav Pandit
2020-07-26 14:55     ` [dpdk-dev] [PATCH v11 10/10] common/mlx5: remove class check from class drivers Parav Pandit
2020-07-27 17:47   ` [dpdk-dev] [PATCH v12 00/10] Improve mlx5 PMD driver framework for multiple classes Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 01/10] eal: introduce macro for bit definition Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 02/10] drivers: fix indent of directory list Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 03/10] drivers: relax dependency order Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 04/10] common/mlx5: fix void parameters in glue wrappers Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 05/10] regex/mlx5: fix segmentation fault during error unwinding Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 06/10] common/mlx5: avoid using class constructor priority Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 07/10] common/mlx5: change class values as bits Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 08/10] common/mlx5: introduce layer to support multiple class drivers Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 09/10] common/mlx5: register class drivers through common layer Parav Pandit
2020-07-27 17:47     ` [dpdk-dev] [PATCH v12 10/10] common/mlx5: remove class check from class drivers Parav Pandit
2020-07-28 17:10     ` [dpdk-dev] [PATCH v12 00/10] Improve mlx5 PMD driver framework for multiple classes Thomas Monjalon
2020-06-10 17:17 ` [dpdk-dev] [RFC PATCH 2/6] common/mlx5: use class enable check helper function Parav Pandit
2020-06-15 19:48   ` Gaëtan Rivet
2020-06-10 17:17 ` [dpdk-dev] [RFC PATCH 3/6] common/mlx5: change mlx5 class enum values as bits Parav Pandit
2020-06-15 19:55   ` Gaëtan Rivet
2020-06-18  9:29     ` Parav Pandit
2020-06-10 17:17 ` [dpdk-dev] [RFC PATCH 4/6] bus/mlx5_pci: add mlx5 PCI bus Parav Pandit
2020-06-15 21:00   ` Gaëtan Rivet
2020-06-17  8:13     ` Thomas Monjalon
2020-06-18  9:41       ` Parav Pandit
2020-06-18  9:41     ` Parav Pandit
2020-06-10 17:17 ` [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver Parav Pandit
2020-06-15 21:46   ` Gaëtan Rivet
2020-06-17  8:18     ` Thomas Monjalon
2020-06-18  9:47       ` Parav Pandit
2020-06-18 10:03     ` Parav Pandit
2020-06-18 14:35       ` Gaëtan Rivet
2020-06-18 15:52         ` Parav Pandit
2020-06-10 17:17 ` [dpdk-dev] [RFC PATCH 6/6] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver Parav Pandit
2020-06-15 21:56   ` Gaëtan Rivet
2020-06-18 10:06     ` Parav Pandit
2020-06-18 15:13       ` Gaëtan Rivet

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=20200724143906.7453-1-parav@mellanox.com \
    --to=parav@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=grive@u256.net \
    --cc=joyce.kong@arm.com \
    --cc=matan@mellanox.com \
    --cc=orika@mellanox.com \
    --cc=rasland@mellanox.com \
    --cc=thomas@monjalon.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).