OSDN Git Service

net/mlx5e: Avoid false lock depenency warning on tc_ht
authorRoi Dayan <roid@nvidia.com>
Mon, 25 Jan 2021 09:28:07 +0000 (11:28 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Tue, 2 Feb 2021 06:52:34 +0000 (22:52 -0800)
commit9ba33339c043addc4aee241fd7ac37593f7c9e7e
treeb32af11e99fbc3e5f3636c8d4207e7b9aa08b1d6
parent84db6612471416984685d37ab35ad30dffc28179
net/mlx5e: Avoid false lock depenency warning on tc_ht

To avoid false lock dependency warning set the tc_ht lock
class different than the lock class of the ht being used when deleting
last flow from a group and then deleting a group, we get into del_sw_flow_group()
which call rhashtable_destroy on fg->ftes_hash which will take ht->mutex but
it's different than the ht->mutex here.

======================================================
WARNING: possible circular locking dependency detected
5.11.0-rc4_net_next_mlx5_949fdcc #1 Not tainted
------------------------------------------------------
modprobe/12950 is trying to acquire lock:
ffff88816510f910 (&node->lock){++++}-{3:3}, at: mlx5_del_flow_rules+0x2a/0x210 [mlx5_core]

but task is already holding lock:
ffff88815834e3e8 (&ht->mutex){+.+.}-{3:3}, at: rhashtable_free_and_destroy+0x37/0x340

which lock already depends on the new lock.

Signed-off-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c