diff options
author | Vlad Buslov <vladbu@mellanox.com> | 2019-03-13 19:50:24 +0200 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2019-07-29 16:40:25 -0700 |
commit | ad86755b18d5edf1956f6d25c844f27289216877 (patch) | |
tree | 4d241e7ac4920899881468fe17443e303285f408 /drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | |
parent | net/mlx5e: Protect tc flows hashtable with rcu (diff) | |
download | linux-dev-ad86755b18d5edf1956f6d25c844f27289216877.tar.xz linux-dev-ad86755b18d5edf1956f6d25c844f27289216877.zip |
net/mlx5e: Protect unready flows with dedicated lock
In order to remove dependency on rtnl lock for protecting unready_flows
list when reoffloading unready flows on workqueue, extend representor
uplink private structure with dedicated 'unready_flows_lock' mutex. Take
the lock in all users of unready_flows list before accessing it. Implement
helper functions to add and delete unready flow.
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Jianbo Liu <jianbol@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_rep.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h index c56e6ee4350c..10fafd5fa17b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h @@ -75,6 +75,8 @@ struct mlx5_rep_uplink_priv { struct mlx5_tun_entropy tun_entropy; + /* protects unready_flows */ + struct mutex unready_flows_lock; struct list_head unready_flows; struct work_struct reoffload_flows_work; }; |