• Vlad Buslov's avatar
    net/mlx5e: Refactor neigh used value update for concurrent execution · 6a06c2f7
    Vlad Buslov authored
    In order to remove dependency on rtnl lock and allow neigh used value
    update workqueue task to execute concurrently with tc, refactor
    mlx5e_tc_update_neigh_used_value() for concurrent execution:
    
    - Lock encap table when accessing encap entry to prevent concurrent
      changes.
    
    - Save offloaded encap flows to temporary list and release them after encap
      entry is updated. Add mlx5e_put_encap_flow_list() helper which is
      intended to be shared with neigh update code in following patch in this
      series. This is necessary because mlx5e_flow_put() can't be called while
      holding encap_tbl_lock.
    Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
    Reviewed-by: default avatarRoi Dayan <roid@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    6a06c2f7
en_tc.c 113 KB