diff options
author | Vlad Buslov <vladbu@mellanox.com> | 2019-08-08 16:53:15 +0300 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2019-08-09 14:54:10 -0700 |
commit | a734d007173119fe8e7bde1689ee4123c529e238 (patch) | |
tree | 94b6b21258809abf62dd6c11c7c34f150188ae7b /drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | |
parent | net/mlx5e: Protect mod_hdr hash table with mutex (diff) | |
download | linux-dev-a734d007173119fe8e7bde1689ee4123c529e238.tar.xz linux-dev-a734d007173119fe8e7bde1689ee4123c529e238.zip |
net/mlx5e: Allow concurrent creation of mod_hdr entries
Mod_hdr entries creation is fully synchronized by mod_hdr_tbl->lock. In
order to allow concurrent allocation of hardware resources used to offload
header rewrite, extend mlx5e_mod_hdr_entry with 'res_ready' completion.
Move call to mlx5_modify_header_alloc() out of mod_hdr_tbl->lock critical
section. Modify code that attaches new flows to existing mh to wait for
'res_ready' completion before using the entry. Insert mh to mod_hdr table
before provisioning it to hardware and modify all users of mod_hdr table to
verify that mh was fully initialized by checking completion result for
negative value (and to wait for 'res_ready' completion, if necessary).
Signed-off-by: Vlad Buslov <vladbu@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/eswitch.h')
0 files changed, 0 insertions, 0 deletions