[dpdk-dev] [PATCH v6 00/26] net/mlx5: insertion rate optimization
Raslan Darawsheh
rasland at nvidia.com
Tue Jul 13 17:18:52 CEST 2021
Hi,
> -----Original Message-----
> From: Suanming Mou <suanmingm at nvidia.com>
> Sent: Tuesday, July 13, 2021 11:45 AM
> To: Slava Ovsiienko <viacheslavo at nvidia.com>; Matan Azrad
> <matan at nvidia.com>
> Cc: Raslan Darawsheh <rasland at nvidia.com>; Ori Kam <orika at nvidia.com>;
> dev at 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
More information about the dev
mailing list