mbox

[v2,00/25] *net/mlx5: support multiple-thread flow operations

Message ID 1603437295-119083-1-git-send-email-suanmingm@nvidia.com (mailing list archive)
Headers

Message

Suanming Mou Oct. 23, 2020, 7:14 a.m. UTC
This patch set contains multiple-thread flow operations support
for the flow objects.

The new added PMD features after RC1 MT support is not done yet.
The sh lock removing patch will be moved to the next series.

Suanming Mou (11):
  net/mlx5: use thread safe index pool for flow objects
  net/mlx5: make meter action thread safe
  net/mlx5: make VLAN network interface thread safe
  net/mlx5: create global jump action
  net/mlx5: create global default miss action
  net/mlx5: create global drop action
  net/mlx5: fix redundant Direct Verbs resources allocate
  net/mlx5: remove unused mreg copy code
  net/mlx5: make header reformat action thread safe
  net/mlx5: remove unused hash list operations
  net/mlx5: make Rx queue thread safe

Xueming Li (14):
  net/mlx5: use thread specific flow workspace
  net/mlx5: reuse flow Id as hairpin Id
  net/mlx5: indexed pool supports zero size entry
  net/mlx5: use indexed pool for RSS flow ID
  net/mlx5: make rte flow list thread safe
  net/mlx5: support concurrent access for hash list
  net/mlx5: make flow table cache thread safe
  net/mlx5: make flow tag list thread safe
  net/mlx5: make flow modify action list thread safe
  net/mlx5: make metadata copy flow list thread safe
  net/mlx5: introduce thread safe linked list cache
  net/mlx5: make matcher list thread safe
  net/mlx5: make port ID action cache thread safe
  net/mlx5: make push VLAN action cache thread safe

---

v2:
 - fix review comments.
 - remove unused mreg copy code.
 - drop the sh lock removing patch as new feature still not fully updated.

---

 drivers/common/mlx5/linux/mlx5_nl.h   |    1 +
 drivers/net/mlx5/linux/mlx5_os.c      |  100 ++-
 drivers/net/mlx5/linux/mlx5_vlan_os.c |    5 +
 drivers/net/mlx5/mlx5.c               |  266 +------
 drivers/net/mlx5/mlx5.h               |   63 +-
 drivers/net/mlx5/mlx5_flow.c          |  590 ++++++--------
 drivers/net/mlx5/mlx5_flow.h          |  124 ++-
 drivers/net/mlx5/mlx5_flow_dv.c       | 1393 +++++++++++++++------------------
 drivers/net/mlx5/mlx5_flow_meter.c    |   72 +-
 drivers/net/mlx5/mlx5_flow_verbs.c    |   84 +-
 drivers/net/mlx5/mlx5_rxq.c           |  235 +++---
 drivers/net/mlx5/mlx5_rxtx.h          |   20 +-
 drivers/net/mlx5/mlx5_utils.c         |  345 ++++++--
 drivers/net/mlx5/mlx5_utils.h         |  320 ++++++--
 14 files changed, 1856 insertions(+), 1762 deletions(-)