[dpdk-dev] [PATCH 0/8] net/mlx5 counter optimize
Suanming Mou
suanmingm at mellanox.com
Tue Apr 7 05:59:39 CEST 2020
In the plan of save the memory consumption for rte_flow, the counter
memory consumption will be optimized from two perspective.
Change the counter object saving as index instead of pointer in rte_flow.
In this case, since currently the counters are allocated from the pool,
counter can use the index as it is in the pool to address the object. The
counter index ID is made up of the pool index and counter offset in the
pool.
Split the counter struct members are used only in batch and none batch.
Currently, there are two kinds of counters, one as batch and others as
none batch. The most widely used batch counters only use limited members
in the counter struct. Split the members only used by none batch counters
to the extend counter struct, and allocate the memory only for the none
batch counter pools saves memory for batch counters.
Suanming Mou (8):
net/mlx5: fix incorrect counter container usage
net/mlx5: optimize counter release query generation
net/mlx5: change verbs counter allocator to indexed
common/mlx5: add batch counter id offset
net/mlx5: change Direct Verbs counter to indexed
net/mlx5: optimize flow counter handle type
net/mlx5: split the counter struct
net/mlx5: reorganize fallback counter management
drivers/common/mlx5/mlx5_prm.h | 9 +
drivers/net/mlx5/mlx5.c | 6 +-
drivers/net/mlx5/mlx5.h | 52 +++--
drivers/net/mlx5/mlx5_flow.c | 28 ++-
drivers/net/mlx5/mlx5_flow.h | 10 +-
drivers/net/mlx5/mlx5_flow_dv.c | 445 ++++++++++++++++++-------------------
drivers/net/mlx5/mlx5_flow_verbs.c | 173 ++++++++++----
7 files changed, 428 insertions(+), 295 deletions(-)
--
1.8.3.1
More information about the dev
mailing list