mbox series

[v4,0/4] net/mlx5: move to non-cached mode for flow rules

Message ID 1585064040-28201-1-git-send-email-bingz@mellanox.com (mailing list archive)
Headers
Series net/mlx5: move to non-cached mode for flow rules |

Message

Bing Zhao March 24, 2020, 3:33 p.m. UTC
  This patch set will remove the flow rules cache and move to the
non-cached mode for both DV and Verbs mode.

In the device closing stage, all the software resources for flows
created will be freed and corresponding hardware resources will be
released. Then the total cost of the memory will be reduced and the
behavior of mlx5 PMD will comply fully with the ethdev API
expectations.

After closing a device, all the flow rules stored in application
layer will no longer be valid anymore. Application should synchronize
the database and do not try to destory any rule on this device.
And after a device restarting, all the needed flow rules should be
reinserted via the create routine in the rte_flow lib.

---
v2 Changes:
    Fix the compiling error with MLX5 Debug mode in the 4th commit
    of "net/mlx5: introduce handle structure for DV flows".
v3 Changes:
    Refactor the device flow related structures to support non-cached
    mode for both Verbs and DV flows.
v4 Changes:
    Fix the code style warning for stdbool type and a typo in the
    code line comments.
---

Bing Zhao (4):
  net/mlx5: change operations for non-cached flows
  net/mlx5: reorganize mlx5 flow structures
  net/mlx5: separate the flow handle resource
  net/mlx5: check device stat before creating flow

 drivers/net/mlx5/mlx5.c            |  18 ++-
 drivers/net/mlx5/mlx5.h            |   9 +-
 drivers/net/mlx5/mlx5_flow.c       | 197 +++++++++++++++++------
 drivers/net/mlx5/mlx5_flow.h       | 179 ++++++++++++++-------
 drivers/net/mlx5/mlx5_flow_dv.c    | 311 ++++++++++++++++++++-----------------
 drivers/net/mlx5/mlx5_flow_verbs.c | 156 +++++++++++--------
 drivers/net/mlx5/mlx5_trigger.c    |  26 ++--
 7 files changed, 573 insertions(+), 323 deletions(-)
  

Comments

Matan Azrad March 25, 2020, 9:13 a.m. UTC | #1
From: Bing Zhao
> This patch set will remove the flow rules cache and move to the non-cached
> mode for both DV and Verbs mode.
> 
> In the device closing stage, all the software resources for flows created will
> be freed and corresponding hardware resources will be released. Then the
> total cost of the memory will be reduced and the behavior of mlx5 PMD will
> comply fully with the ethdev API expectations.
> 
> After closing a device, all the flow rules stored in application layer will no
> longer be valid anymore. Application should synchronize the database and do
> not try to destory any rule on this device.
> And after a device restarting, all the needed flow rules should be reinserted
> via the create routine in the rte_flow lib.
> 
> ---
> v2 Changes:
>     Fix the compiling error with MLX5 Debug mode in the 4th commit
>     of "net/mlx5: introduce handle structure for DV flows".
> v3 Changes:
>     Refactor the device flow related structures to support non-cached
>     mode for both Verbs and DV flows.
> v4 Changes:
>     Fix the code style warning for stdbool type and a typo in the
>     code line comments.
> ---
> 
> Bing Zhao (4):
>   net/mlx5: change operations for non-cached flows
>   net/mlx5: reorganize mlx5 flow structures
>   net/mlx5: separate the flow handle resource
>   net/mlx5: check device stat before creating flow
> 
>  drivers/net/mlx5/mlx5.c            |  18 ++-
>  drivers/net/mlx5/mlx5.h            |   9 +-
>  drivers/net/mlx5/mlx5_flow.c       | 197 +++++++++++++++++------
>  drivers/net/mlx5/mlx5_flow.h       | 179 ++++++++++++++-------
>  drivers/net/mlx5/mlx5_flow_dv.c    | 311 ++++++++++++++++++++----------
> -------
>  drivers/net/mlx5/mlx5_flow_verbs.c | 156 +++++++++++--------
>  drivers/net/mlx5/mlx5_trigger.c    |  26 ++--
>  7 files changed, 573 insertions(+), 323 deletions(-)

Series-acked-by: Matan Azrad <matan@mellanox.com>
  
Raslan Darawsheh March 29, 2020, 3:50 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: Bing Zhao <bingz@mellanox.com>
> Sent: Tuesday, March 24, 2020 5:34 PM
> To: Ori Kam <orika@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; Matan Azrad <matan@mellanox.com>
> Cc: Slava Ovsiienko <viacheslavo@mellanox.com>; dev@dpdk.org
> Subject: [PATCH v4 0/4] net/mlx5: move to non-cached mode for flow rules
> 
> This patch set will remove the flow rules cache and move to the
> non-cached mode for both DV and Verbs mode.
> 
> In the device closing stage, all the software resources for flows
> created will be freed and corresponding hardware resources will be
> released. Then the total cost of the memory will be reduced and the
> behavior of mlx5 PMD will comply fully with the ethdev API
> expectations.
> 
> After closing a device, all the flow rules stored in application
> layer will no longer be valid anymore. Application should synchronize
> the database and do not try to destory any rule on this device.
> And after a device restarting, all the needed flow rules should be
> reinserted via the create routine in the rte_flow lib.
> 
> ---
> v2 Changes:
>     Fix the compiling error with MLX5 Debug mode in the 4th commit
>     of "net/mlx5: introduce handle structure for DV flows".
> v3 Changes:
>     Refactor the device flow related structures to support non-cached
>     mode for both Verbs and DV flows.
> v4 Changes:
>     Fix the code style warning for stdbool type and a typo in the
>     code line comments.
> ---
> 
> Bing Zhao (4):
>   net/mlx5: change operations for non-cached flows
>   net/mlx5: reorganize mlx5 flow structures
>   net/mlx5: separate the flow handle resource
>   net/mlx5: check device stat before creating flow
> 
>  drivers/net/mlx5/mlx5.c            |  18 ++-
>  drivers/net/mlx5/mlx5.h            |   9 +-
>  drivers/net/mlx5/mlx5_flow.c       | 197 +++++++++++++++++------
>  drivers/net/mlx5/mlx5_flow.h       | 179 ++++++++++++++-------
>  drivers/net/mlx5/mlx5_flow_dv.c    | 311 ++++++++++++++++++++----------
> -------
>  drivers/net/mlx5/mlx5_flow_verbs.c | 156 +++++++++++--------
>  drivers/net/mlx5/mlx5_trigger.c    |  26 ++--
>  7 files changed, 573 insertions(+), 323 deletions(-)
> 
> --
> 1.8.3.1

Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh