net/mlx5: Wait for inactive autogroups
Currently, if one thread tries to add an entry to an autogrouped table with no free matching group, while another thread is in the process of creating a new matching autogroup, it doesn't wait for the new group creation, and creates an unnecessary new autogroup. Instead of skipping inactive, wait on the write lock of those groups. Signed-off-by: Paul Blakey <paulb@mellanox.com> Reviewed-by: Roi Dayan <roid@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Reviewed-by: Maor Gottlieb <maorg@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
41798df9bf
commit
49c0355d30
|
@ -1755,11 +1755,13 @@ skip_search:
|
|||
list_for_each_entry(iter, match_head, list) {
|
||||
g = iter->g;
|
||||
|
||||
if (!g->node.active)
|
||||
continue;
|
||||
|
||||
nested_down_write_ref_node(&g->node, FS_LOCK_PARENT);
|
||||
|
||||
if (!g->node.active) {
|
||||
up_write_ref_node(&g->node, false);
|
||||
continue;
|
||||
}
|
||||
|
||||
err = insert_fte(g, fte);
|
||||
if (err) {
|
||||
up_write_ref_node(&g->node, false);
|
||||
|
|
Loading…
Reference in New Issue