mbox series

[0/2] net/mlx5/hws: fix matcher clean up for FDB tables

Message ID 20221109095431.668926-1-dsosnowski@nvidia.com (mailing list archive)
Headers
Series net/mlx5/hws: fix matcher clean up for FDB tables |

Message

Dariusz Sosnowski Nov. 9, 2022, 9:54 a.m. UTC
  Before these patches, if an application was configured to run with
HW Steering and E-Switch enabled, on EAL cleanup the assertion in
mlx5_dev_hw_global_release() was triggered - PD release was unsuccessful.

Root cause of this issue was linked to an inability to destroy RTC objects
used internally in mlx5, in HW Steering implementation.
PMD was unable to destroy RTC objects, because of dangling
references to those objects. More specifically, if all matchers
connected to a single flow table were created, this flow table
was still referencing RTC objects when theye were being destroyed.

This patch series fixes that behavior.
Matcher uninitilization is updated to remove the references to RTC objects
from flow table object if the last matcher related to the flow
table was destroyed.

Erez Shitrit (2):
  net/mlx5/hws: fix order of destroying default tables
  net/mlx5/hws: fix disconnecting matcher

 drivers/net/mlx5/hws/mlx5dr_matcher.c | 35 +++++++++++++++++++++++++++
 drivers/net/mlx5/hws/mlx5dr_table.c   |  2 +-
 2 files changed, 36 insertions(+), 1 deletion(-)
  

Comments

Matan Azrad Nov. 9, 2022, 10:32 a.m. UTC | #1
From: Dariusz Sosnowski
 
> Before these patches, if an application was configured to run with HW
> Steering and E-Switch enabled, on EAL cleanup the assertion in
> mlx5_dev_hw_global_release() was triggered - PD release was unsuccessful.
> 
> Root cause of this issue was linked to an inability to destroy RTC objects used
> internally in mlx5, in HW Steering implementation.
> PMD was unable to destroy RTC objects, because of dangling references to
> those objects. More specifically, if all matchers connected to a single flow
> table were created, this flow table was still referencing RTC objects when
> theye were being destroyed.
> 
> This patch series fixes that behavior.
> Matcher uninitilization is updated to remove the references to RTC objects
> from flow table object if the last matcher related to the flow table was
> destroyed.
> 
> Erez Shitrit (2):
>   net/mlx5/hws: fix order of destroying default tables
>   net/mlx5/hws: fix disconnecting matcher
> 
>  drivers/net/mlx5/hws/mlx5dr_matcher.c | 35
> +++++++++++++++++++++++++++
>  drivers/net/mlx5/hws/mlx5dr_table.c   |  2 +-
>  2 files changed, 36 insertions(+), 1 deletion(-)

Series-acked-by: Matan Azrad <matan@nvidia.com>

> --
> 2.25.1
  
Raslan Darawsheh Nov. 9, 2022, 4 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski@nvidia.com>
> Sent: Wednesday, November 9, 2022 11:54 AM
> To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Alex Vesker <valex@nvidia.com>; Erez Shitrit
> <erezsh@nvidia.com>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>
> Subject: [PATCH 0/2] net/mlx5/hws: fix matcher clean up for FDB tables
> 
> Before these patches, if an application was configured to run with HW
> Steering and E-Switch enabled, on EAL cleanup the assertion in
> mlx5_dev_hw_global_release() was triggered - PD release was unsuccessful.
> 
> Root cause of this issue was linked to an inability to destroy RTC objects used
> internally in mlx5, in HW Steering implementation.
> PMD was unable to destroy RTC objects, because of dangling references to
> those objects. More specifically, if all matchers connected to a single flow
> table were created, this flow table was still referencing RTC objects when
> theye were being destroyed.
> 
> This patch series fixes that behavior.
> Matcher uninitilization is updated to remove the references to RTC objects
> from flow table object if the last matcher related to the flow table was
> destroyed.
> 
> Erez Shitrit (2):
>   net/mlx5/hws: fix order of destroying default tables
>   net/mlx5/hws: fix disconnecting matcher
> 
>  drivers/net/mlx5/hws/mlx5dr_matcher.c | 35
> +++++++++++++++++++++++++++
>  drivers/net/mlx5/hws/mlx5dr_table.c   |  2 +-
>  2 files changed, 36 insertions(+), 1 deletion(-)
> 
> --
> 2.25.1

series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh