OSDN Git Service

mlxsw: spectrum_acl: Remove RTNL lock assertions from ERP code
authorJiri Pirko <jiri@mellanox.com>
Sun, 24 Feb 2019 06:46:30 +0000 (06:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Feb 2019 04:25:29 +0000 (20:25 -0800)
No longer require RTNL lock in this code. Newly introduced mutexes take
care of guarding objagg and bloom filter. There is no need to guard
gen_pool_alloc()/gen_pool_free() as they are fine to be called lockless.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c

index d6961dd..c1a9cc9 100644 (file)
@@ -1007,11 +1007,6 @@ mlxsw_sp_acl_erp_mask_get(struct mlxsw_sp_acl_atcam_region *aregion,
        struct mlxsw_sp_acl_erp_key key;
        struct objagg_obj *objagg_obj;
 
-       /* eRPs are allocated from a shared resource, but currently all
-        * allocations are done under RTNL.
-        */
-       ASSERT_RTNL();
-
        memcpy(key.mask, mask, MLXSW_REG_PTCEX_FLEX_KEY_BLOCKS_LEN);
        key.ctcam = ctcam;
        mutex_lock(&erp_table->objagg_lock);
@@ -1042,7 +1037,6 @@ int mlxsw_sp_acl_erp_bf_insert(struct mlxsw_sp *mlxsw_sp,
        const struct mlxsw_sp_acl_erp *erp = objagg_obj_root_priv(objagg_obj);
        unsigned int erp_bank;
 
-       ASSERT_RTNL();
        if (!mlxsw_sp_acl_erp_table_is_used(erp->erp_table))
                return 0;