mbox

[v6,00/15] Add ASO meter support in MLX5 PMD

Message ID 1618916122-181792-1-git-send-email-jiaweiw@nvidia.com (mailing list archive)
Headers

Message

Jiawei Wang April 20, 2021, 10:55 a.m. UTC
  To support more meters and better performance,
MLX HW provides ASO (Advanced Steering Operation) flow meter.
It can expose millions of ASO flow meter context's in HW.
This ASO object can allocate the large bulk meter objects.
This patch set implement the ASO flow meter for mlx5 driver.
MLX5 PMD driver will be responsible for ASO flow meter manage to HW.

V2: Fix compile error issue (mlx5_glue->destroy_flow_action)
V3: Fix comments.
V4: Fix comments and add Acked.
V5: Fix unused log_obj_size issue.
V6: Fix comments and update release notes.

Jiawei Wang (1):
  doc: update release notes for ASO meter

Li Zhang (10):
  net/mlx5: optimize meter statistics
  common/mlx5: add definitions for ASO flow meter
  common/mlx5: add read ASO flow meter HCA capability
  common/mlx5: add DevX API to create ASO flow meter object
  net/mlx5: flow meter pool to manage meter object
  net/mlx5: initialize the flow meter ASO SQ
  net/mlx5: add meter ASO queue management
  net/mlx5: add support of ASO meter action
  net/mlx5: make ASO meter queue thread-safe
  net/mlx5: allow multiple flow tables on the same level

Shun Hao (3):
  common/mlx5: add color register idle bits definition
  net/mlx5: fix meter statistics
  net/mlx5: use mask for meter register setting

Suanming Mou (1):
  net/mlx5: support three level table walk

 doc/guides/nics/mlx5.rst               |   6 +
 doc/guides/rel_notes/release_21_05.rst |   1 +
 drivers/common/mlx5/mlx5_devx_cmds.c   |  68 +++
 drivers/common/mlx5/mlx5_devx_cmds.h   |  26 +-
 drivers/common/mlx5/mlx5_prm.h         |  81 ++-
 drivers/common/mlx5/version.map        |   1 +
 drivers/net/mlx5/linux/mlx5_os.c       |  20 +-
 drivers/net/mlx5/meson.build           |   2 +-
 drivers/net/mlx5/mlx5.c                |  98 +++-
 drivers/net/mlx5/mlx5.h                | 258 +++++++++-
 drivers/net/mlx5/mlx5_flow.c           | 334 +++++++++----
 drivers/net/mlx5/mlx5_flow.h           | 212 +++-----
 drivers/net/mlx5/mlx5_flow_age.c       | 591 ----------------------
 drivers/net/mlx5/mlx5_flow_aso.c       | 850 ++++++++++++++++++++++++++++++++
 drivers/net/mlx5/mlx5_flow_dv.c        | 792 +++++++++++++++++++++---------
 drivers/net/mlx5/mlx5_flow_meter.c     | 873 +++++++++++++++++++++------------
 drivers/net/mlx5/mlx5_utils.h          |  90 ++++
 17 files changed, 2897 insertions(+), 1406 deletions(-)
 delete mode 100644 drivers/net/mlx5/mlx5_flow_age.c
 create mode 100644 drivers/net/mlx5/mlx5_flow_aso.c