Skip to content

mlx5: refactor devargs management

Michael Baum dpdk-dev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest20 patches 1 replyIn review
  2. v120 patches 0 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/20net/mlx5: fix wrong check sibling device config mismatchdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/windows/mlx5_os.c+39 -300 replies
2/20net/mlx5: fix ineffective metadata argument adjustmentdrivers/net/mlx5/linux/mlx5_os.c+4 -40 replies
3/20net/mlx5: fix wrong place of ASO CT object releasedrivers/net/mlx5/mlx5.c+2 -20 replies
4/20net/mlx5: fix inconsistency errno update in SH creationdrivers/net/mlx5/linux/mlx5_flow_os.c drivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c +2 more+36 -330 replies
5/20net/mlx5: remove declaration duplicationsdrivers/net/mlx5/mlx5.h+2 -90 replies
6/20net/mlx5: remove checking devargs duplicationdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +1 more+65 -820 replies
7/20net/mlx5: remove HCA attr structure duplicationdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +10 more+100 -1000 replies
8/20net/mlx5: remove DevX flag duplicationdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/linux/mlx5_verbs.c drivers/net/mlx5/mlx5.c +6 more+30 -300 replies
9/20net/mlx5: remove Verbs query device duplicationdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/windows/mlx5_os.c+32 -370 replies
10/20common/mlx5: share VF checking functiondrivers/common/mlx5/mlx5_common.h drivers/common/mlx5/mlx5_common_pci.c drivers/common/mlx5/version.map +2 more+36 -320 replies
11/20net/mlx5: share realtime timestamp configuredrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +1 more+43 -420 replies
12/20net/mlx5: share counter config functiondrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +1 more+41 -800 replies
13/20net/mlx5: add E-switch mode flagdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +3 more+14 -230 replies
14/20net/mlx5: rearrange device attribute structuredrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/linux/mlx5_verbs.c drivers/net/mlx5/mlx5.c +6 more+128 -1610 replies
15/20net/mlx5: concentrate all device configurationsdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/linux/mlx5_vlan_os.c drivers/net/mlx5/mlx5.c +10 more+380 -4190 replies
16/20net/mlx5: add share device context config structuredrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +10 more+457 -2900 replies
17/20net/mlx5: using function to detect operation by DevXdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.h drivers/net/mlx5/mlx5_ethdev.c +1 more+28 -80 replies
18/20net/mlx5: separate per port configurationdrivers/net/mlx5/linux/mlx5_os.c drivers/net/mlx5/mlx5.c drivers/net/mlx5/mlx5.h +6 more+188 -2090 replies
19/20common/mlx5: add check for common devargs in probing againdrivers/common/mlx5/mlx5_common.c+100 -00 replies
20/20common/mlx5: refactor devargs managementdrivers/common/mlx5/mlx5_common.c drivers/common/mlx5/mlx5_common.h drivers/common/mlx5/version.map +8 more+498 -1980 replies

Reviews trailers per patch

All 20 patches have a Reviewed-by or Acked-by.

PatchMatan Azrad
1/20A-b
2/20A-b
3/20A-b
4/20A-b
5/20A-b
6/20A-b
7/20A-b
8/20A-b
9/20A-b
10/20A-b
11/20A-b
12/20A-b
13/20A-b
14/20A-b
15/20A-b
16/20A-b
17/20A-b
18/20A-b
19/20A-b
20/20A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/20] mlx5: refactor devargs management

v2: rebase + fix coverity issue.

These patches rearrange the management of the devargs on two different levels.

The first splits the net driver's devargs into two categories, device-dependent devargs and port-dependent devargs. Arguments that depend on the device are updated once in the creation of the shared device context structure, and do not change even if the user has sent new devargs in the probe again. In contrast, the arguments that depend on the port are updated separately for each port.

The second layer deals with the parsing of devargs in the common driver. The common driver once parses the devargs into a dictionary, then sends it to all the drivers that will use it during the their probing. Each driver updates within dictionary which keys it has used, then the common driver checks the updated dictionary and reports about unknown devargs.

Michael Baum (20):
net/mlx5: fix wrong check sibling device config mismatch net/mlx5: fix ineffective metadata argument adjustment net/mlx5: fix wrong place of ASO CT object release net/mlx5: fix inconsistency errno update in SH creation net/mlx5: remove declaration duplications net/mlx5: remove checking devargs duplication net/mlx5: remove HCA attr structure duplication net/mlx5: remove DevX flag duplication
net/mlx5: remove Verbs query device duplication common/mlx5: share VF checking function net/mlx5: share realtime timestamp configure net/mlx5: share counter config function net/mlx5: add E-switch mode flag
net/mlx5: rearrange device attribute structure net/mlx5: concentrate all device configurations net/mlx5: add share device context config structure net/mlx5: using function to detect operation by DevX net/mlx5: separate per port configuration common/mlx5: add check for common devargs in probing again common/mlx5: refactor devargs management

 drivers/common/mlx5/mlx5_common.c       | 345 +++++++--
 drivers/common/mlx5/mlx5_common.h       |  51 +-
 drivers/common/mlx5/mlx5_common_pci.c   |  18 +
 drivers/common/mlx5/version.map         |   3 +
 drivers/compress/mlx5/mlx5_compress.c   |  38 +-
 drivers/crypto/mlx5/mlx5_crypto.c       |  39 +-
 drivers/net/mlx5/linux/mlx5_flow_os.c   |   3 +-
 drivers/net/mlx5/linux/mlx5_os.c        | 887 +++++++++---------------
 drivers/net/mlx5/linux/mlx5_verbs.c     |   9 +-
 drivers/net/mlx5/linux/mlx5_vlan_os.c   |   3 +-
 drivers/net/mlx5/mlx5.c                 | 872 +++++++++++++++++------
 drivers/net/mlx5/mlx5.h                 | 216 +++---
 drivers/net/mlx5/mlx5_devx.c            |  19 +-
 drivers/net/mlx5/mlx5_ethdev.c          |  31 +-
 drivers/net/mlx5/mlx5_flow.c            |  50 +-
 drivers/net/mlx5/mlx5_flow.h            |   2 +-
 drivers/net/mlx5/mlx5_flow_dv.c         |  93 ++-
 drivers/net/mlx5/mlx5_flow_flex.c       |   4 +-
 drivers/net/mlx5/mlx5_flow_meter.c      |  14 +-
 drivers/net/mlx5/mlx5_rxmode.c          |   8 +-
 drivers/net/mlx5/mlx5_rxq.c             |  49 +-
 drivers/net/mlx5/mlx5_trigger.c         |  35 +-
 drivers/net/mlx5/mlx5_tx.c              |   2 +-
 drivers/net/mlx5/mlx5_txpp.c            |  14 +-
 drivers/net/mlx5/mlx5_txq.c             |  62 +-
 drivers/net/mlx5/mlx5_vlan.c            |   4 +-
 drivers/net/mlx5/windows/mlx5_flow_os.c |   2 +-
 drivers/net/mlx5/windows/mlx5_os.c      | 342 +++------
 drivers/regex/mlx5/mlx5_regex.c         |   3 +-
 drivers/vdpa/mlx5/mlx5_vdpa.c           |  32 +-
 30 files changed, 1842 insertions(+), 1408 deletions(-)
Signature · 1 line
2.25.1