Hi,

> -----Original Message-----
> From: Suanming Mou <suanmi...@nvidia.com>
> Sent: Tuesday, July 13, 2021 11:45 AM
> To: Slava Ovsiienko <viachesl...@nvidia.com>; Matan Azrad
> <ma...@nvidia.com>
> Cc: Raslan Darawsheh <rasl...@nvidia.com>; Ori Kam <or...@nvidia.com>;
> dev@dpdk.org
> Subject: [PATCH v6 00/26] net/mlx5: insertion rate optimization
> 
> This patch series optimize the flow insertion rate with adding local cache to
> index pool and list.
> 
> For object which wants efficient index allocate and free, local cache will be
> very helpful.
> 
> For index pool, two level cache is added, one as local and another as global.
> The global cache is able to save all the allocated index. That means all the
> allocated index will not be freed. Once the local cache is full, the extra 
> index
> will be flushed to the global cache. Once local cache is empty, first try to 
> fetch
> more index from global, if global is still empty, allocate new trunk and more
> index.
> 
> For list, sub local core list is introduced. The allocated objects will be 
> added
> and released only from local list without any locks.
> Only the objects need to be shared will be synced from global list.
> 
> ---
> 
> v6: fix compilation issue in "common/mlx5: add list lcore share" patch.
> 
> v5: code rebase to the latest version.
> 
> v4:
>    - split the list utility to commom patch
>    - fix one ipool crash issue in mlx5_ipool_get_cache() function.
>    - reorganize the common and mlx5 patches.
>    - split the doc update to an individual patch.
>    - update and rebase to the latest version.
> 
> v3: fix Windows compilation issue
> 
> v2: add the list per-lcore cache optimization
> 
> ---
> 
> Matan Azrad (9):
>   net/mlx5: optimize modify header action memory
>   net/mlx5: remove cache term from the list utility
>   net/mlx5: add per lcore cache to the list utility
>   net/mlx5: minimize list critical sections
>   net/mlx5: manage list cache entries release
>   net/mlx5: relax the list utility atomic operations
>   net/mlx5: allocate list memory by the create API
>   common/mlx5: add per-lcore cache to hash list utility
>   net/mlx5: move modify header allocator to ipool
> 
> Suanming Mou (17):
>   net/mlx5: allow limiting the index pool maximum index
>   net/mlx5: add indexed pool local cache
>   net/mlx5: add index pool foreach define
>   net/mlx5: support index pool non-lcore operations
>   net/mlx5: replace flow list with index pool
>   common/mlx5: move list utility to common
>   common/mlx5: add list lcore share
>   common/mlx5: call list callbacks with context
>   common/mlx5: allocate cache list memory individually
>   common/mlx5: optimize cache list object memory
>   common/mlx5: support list non-lcore operations
>   net/mlx5: adjust the hash bucket size
>   net/mlx5: enable index pool per-core cache
>   net/mlx5: optimize hash list table allocate on demand
>   net/mlx5: change memory release configuration
>   net/mlx5: optimize Rx queue match
>   doc: add mlx5 multiple-thread flow insertion optimization
> 
>  doc/guides/nics/mlx5.rst                |    5 +
>  doc/guides/rel_notes/release_21_08.rst  |    1 +
>  drivers/common/mlx5/linux/mlx5_glue.h   |    1 +
>  drivers/common/mlx5/mlx5_common.h       |    2 +
>  drivers/common/mlx5/mlx5_common_utils.c |  569 ++++++++---
> drivers/common/mlx5/mlx5_common_utils.h |  294 ++++--
>  drivers/common/mlx5/version.map         |    7 +
>  drivers/net/mlx5/linux/mlx5_flow_os.h   |    3 +-
>  drivers/net/mlx5/linux/mlx5_os.c        |  209 ++--
>  drivers/net/mlx5/mlx5.c                 |   34 +-
>  drivers/net/mlx5/mlx5.h                 |   46 +-
>  drivers/net/mlx5/mlx5_defs.h            |   12 +-
>  drivers/net/mlx5/mlx5_flow.c            |  308 +++---
>  drivers/net/mlx5/mlx5_flow.h            |  209 ++--
>  drivers/net/mlx5/mlx5_flow_dv.c         | 1206 +++++++++++++++--------
>  drivers/net/mlx5/mlx5_rx.h              |   14 +-
>  drivers/net/mlx5/mlx5_rxq.c             |  136 ++-
>  drivers/net/mlx5/mlx5_trigger.c         |    8 +-
>  drivers/net/mlx5/mlx5_utils.c           |  627 ++++++++----
>  drivers/net/mlx5/mlx5_utils.h           |  255 ++---
>  drivers/net/mlx5/windows/mlx5_os.c      |   11 +-
>  21 files changed, 2543 insertions(+), 1414 deletions(-)
> 
> --
> 2.25.1

Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

Reply via email to