mbox series

[0/8] net/mlx5 counter optimize

Message ID 1586231987-338112-1-git-send-email-suanmingm@mellanox.com (mailing list archive)
Headers
Series net/mlx5 counter optimize |

Message

Suanming Mou April 7, 2020, 3:59 a.m. UTC
  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(-)
  

Comments

Raslan Darawsheh April 8, 2020, 12:52 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: Suanming Mou <suanmingm@mellanox.com>
> Sent: Tuesday, April 7, 2020 7:00 AM
> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@mellanox.com>
> Subject: [PATCH 0/8] net/mlx5 counter optimize
> 
> 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

Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh