mbox series

[0/2] net/mlx5: add reclaim memory mode devarg

Message ID 1590991783-326932-1-git-send-email-suanmingm@mellanox.com (mailing list archive)
Headers
Series net/mlx5: add reclaim memory mode devarg |

Message

Suanming Mou June 1, 2020, 6:09 a.m. UTC
  Currently, when flow destroyed, some memory resources may still be kept
as cached to help next time create flow more efficiently.

Some system may need the resources to be more flexible with flow create
and destroy.  After peak time, with millions of flows destroyed, the
system would prefer the resources to be reclaimed completely, no cache
is needed. Then the resources can be allocated and used by other
components. The system is not so sensitive about the flow insertion
rate, but more care about the resources.

Both DPDK mlx5 PMD driver and the low level component rdma-core have
provided the flow resources to be configured cached or not, but there is
no APIs or parameters exposed to user to configure the flow resources
cache mode. In this case, introduce a new PMD devarg to let user
configure the flow resources cache mode will be helpful.

This commit is to add a new "reclaim_mem_mode" to help user configure if
the destroyed flows' cache resources should be kept or not.

Their will be three mode can be chosen:
1. 0(none). It means the flow resources will be cached as usual. The
resources will be cached, helpful with flow insertion rate.
2. 1(light). It will only enable the DPDK PMD level resources reclaim.
3. 2(aggressive). Both DPDK PMD level and rdma-core low level will be
configured as reclaimed mode.

With these three mode, user can configure the resources cache mode with
different levels.

Suanming Mou (2):
  common/mlx5: add memory reclaim glue function
  net/mlx5: add reclaim memory mode devarg

 doc/guides/nics/mlx5.rst               | 20 ++++++++++++++++++++
 doc/guides/rel_notes/release_20_08.rst |  6 ++++++
 drivers/common/mlx5/Makefile           |  5 +++++
 drivers/common/mlx5/meson.build        |  2 ++
 drivers/common/mlx5/mlx5_glue.c        | 13 +++++++++++++
 drivers/common/mlx5/mlx5_glue.h        |  1 +
 drivers/net/mlx5/mlx5.c                | 24 +++++++++++++++++++++++-
 drivers/net/mlx5/mlx5.h                | 13 +++++++++++++
 8 files changed, 83 insertions(+), 1 deletion(-)
  

Comments

Raslan Darawsheh June 3, 2020, 11:35 a.m. UTC | #1
Hi,
> -----Original Message-----
> From: Suanming Mou <suanmingm@mellanox.com>
> Sent: Monday, June 1, 2020 9:10 AM
> To: Slava Ovsiienko <viacheslavo@mellanox.com>; Matan Azrad
> <matan@mellanox.com>
> Cc: Raslan Darawsheh <rasland@mellanox.com>; dev@dpdk.org
> Subject: [PATCH 0/2] net/mlx5: add reclaim memory mode devarg
> 
> Currently, when flow destroyed, some memory resources may still be kept
> as cached to help next time create flow more efficiently.
> 
> Some system may need the resources to be more flexible with flow create
> and destroy.  After peak time, with millions of flows destroyed, the
> system would prefer the resources to be reclaimed completely, no cache
> is needed. Then the resources can be allocated and used by other
> components. The system is not so sensitive about the flow insertion
> rate, but more care about the resources.
> 
> Both DPDK mlx5 PMD driver and the low level component rdma-core have
> provided the flow resources to be configured cached or not, but there is
> no APIs or parameters exposed to user to configure the flow resources
> cache mode. In this case, introduce a new PMD devarg to let user
> configure the flow resources cache mode will be helpful.
> 
> This commit is to add a new "reclaim_mem_mode" to help user configure if
> the destroyed flows' cache resources should be kept or not.
> 
> Their will be three mode can be chosen:
> 1. 0(none). It means the flow resources will be cached as usual. The
> resources will be cached, helpful with flow insertion rate.
> 2. 1(light). It will only enable the DPDK PMD level resources reclaim.
> 3. 2(aggressive). Both DPDK PMD level and rdma-core low level will be
> configured as reclaimed mode.
> 
> With these three mode, user can configure the resources cache mode with
> different levels.
> 
> Suanming Mou (2):
>   common/mlx5: add memory reclaim glue function
>   net/mlx5: add reclaim memory mode devarg
> 
>  doc/guides/nics/mlx5.rst               | 20 ++++++++++++++++++++
>  doc/guides/rel_notes/release_20_08.rst |  6 ++++++
>  drivers/common/mlx5/Makefile           |  5 +++++
>  drivers/common/mlx5/meson.build        |  2 ++
>  drivers/common/mlx5/mlx5_glue.c        | 13 +++++++++++++
>  drivers/common/mlx5/mlx5_glue.h        |  1 +
>  drivers/net/mlx5/mlx5.c                | 24 +++++++++++++++++++++++-
>  drivers/net/mlx5/mlx5.h                | 13 +++++++++++++
>  8 files changed, 83 insertions(+), 1 deletion(-)
> 
> --
> 1.8.3.1

Series rebased and applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh