Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c mlx5e_ipsec_block_tc_offload() -> mlx5_esw_unlock()

Type Parameter Key Value
PARAM_VALUE 0 esw 4096-ptr_max
PARAM_VALUE 0 esw->eswitch_operation_in_progress 0
PARAM_VALUE 0 esw->mode_lock.dep_map->name 0-255
PARAM_VALUE 0 esw->mode_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->mode_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 esw->mode_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 esw->mode_lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->mode_lock.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &esw->mode_lock
TYPE_LOCK (struct mlx5_eswitch)->mode_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_devlink_eswitch_mode_set() -> mlx5_esw_unlock()

Type Parameter Key Value
PARAM_VALUE 0 esw 4096-ptr_max
PARAM_VALUE 0 esw->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 esw->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 esw->dev->priv.lag->lock.dep_map->name 0-255
PARAM_VALUE 0 esw->dev->priv.lag->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 esw->dev->priv.lag->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->groups 0-s64max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->refcnt 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->autogroup.num_groups 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->fgs_hash.ht.nelems.counter s32min-s32max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->fgs_hash.ht.tbl->hash_rnd 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->fgs_hash.ht.tbl->nest 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->fgs_hash.ht.tbl->size 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->node.lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->node.lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->node.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->node.version.counter s32min-s32max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.inner.ttc->t->type 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->groups 0-s64max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->groups->num_groups 3-4,6-7
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->refcnt 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->autogroup.num_groups 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->fgs_hash.ht.nelems.counter s32min-s32max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->fgs_hash.ht.tbl->hash_rnd 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->fgs_hash.ht.tbl->nest 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->fgs_hash.ht.tbl->size 0-4294967295
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->node.lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->node.lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->node.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->node.version.counter s32min-s32max
PARAM_VALUE 0 esw->dev->priv.lag->port_sel.outer.ttc->t->type 0-4294967295
PARAM_VALUE 0 esw->dev->priv.roce.fg->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->dev->priv.roce.fg->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->dev->priv.roce.ft->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->dev->priv.roce.ft->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->eswitch_operation_in_progress 0
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->ftes_hash.key_len 0-u16max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->ftes_hash.max_elems 0-2147483646,2147483648
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->ftes_hash.p.min_size 4-u16max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.active 1
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.del_hw_func 383327178890608640
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.del_sw_func 1941390029251809280
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.list.next 16,4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.list.prev 16,4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.lock.magic 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.parent 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.refcount.refs.counter 1
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.root 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.addr_grp->node.type 4
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->ftes_hash.key_len 0-u16max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->ftes_hash.max_elems 0-2147483646,2147483648
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->ftes_hash.p.min_size 4-u16max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.active 1
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.del_hw_func 383327178890608640
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.del_sw_func 1941390029251809280
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.list.next 16,4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.list.prev 16,4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.lock.magic 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.parent 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.refcount.refs.counter 1
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.root 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.allmulti_grp->node.type 4
PARAM_VALUE 0 esw->fdb_table.legacy.fdb->autogroup.active 1
PARAM_VALUE 0 esw->fdb_table.legacy.fdb->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->fdb_table.legacy.fdb->node.lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->ftes_hash.key_len 0-u16max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->ftes_hash.max_elems 0-2147483646,2147483648
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->ftes_hash.p.min_size 4-u16max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.active 1
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.del_hw_func 383327178890608640
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.del_sw_func 1941390029251809280
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.list.next 16,4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.list.prev 16,4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.lock.magic 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.parent 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.refcount.refs.counter 1
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.root 4096-ptr_max
PARAM_VALUE 0 esw->fdb_table.legacy.promisc_grp->node.type 4
PARAM_VALUE 0 esw->fdb_table.offloads.drop_root->autogroup.active 1
PARAM_VALUE 0 esw->fdb_table.offloads.miss_grp->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->fdb_table.offloads.miss_grp->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->fdb_table.offloads.peer_miss_grp->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->fdb_table.offloads.send_to_vport_grp->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->fdb_table.offloads.tc_miss_table->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->mode_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->mode_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 esw->mode_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 esw->mode_lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->mode_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 esw->mode_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 esw->offloads.ft_offloads->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->offloads.ft_offloads->node.lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.ft_offloads->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->offloads.ft_offloads->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.ft_offloads_restore->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->offloads.ft_offloads_restore->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.reps_lock.dep_map->name 0-255
PARAM_VALUE 0 esw->offloads.reps_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 esw->offloads.reps_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 esw->offloads.reps_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 esw->offloads.reps_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 esw->offloads.reps_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 esw->offloads.reps_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 esw->offloads.restore_group->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->offloads.restore_group->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.vport_rx_drop_group->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->offloads.vport_rx_drop_group->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.vport_rx_group->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->offloads.vport_rx_group->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 *esw->dev->priv.lag->lag_mpesw.pf_metadata 0-4294967295
CAPPED_DATA 0 esw 1
CAPPED_DATA 0 &esw->mode_lock 1
DATA_SOURCE 0 esw r mlx5_devlink_eswitch_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_ec_vfs
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_vfs
NO_OVERFLOW_SIMPLE 0 esw->fdb_table.offloads.drop_root_rule->num_rules
NO_OVERFLOW_SIMPLE 0 esw->fdb_table.offloads.miss_rule_multi->num_rules
NO_OVERFLOW_SIMPLE 0 esw->fdb_table.offloads.miss_rule_uni->num_rules
NO_OVERFLOW_SIMPLE 0 esw->offloads.vport_rx_drop_rule->num_rules
LOCK2 0 &esw->mode_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mlx5_eswitch)->mode_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_block_mode() -> mlx5_esw_unlock()

Type Parameter Key Value
PARAM_VALUE 0 esw 4096-ptr_max
PARAM_VALUE 0 esw->eswitch_operation_in_progress 0
PARAM_VALUE 0 esw->mode_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->mode_lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->user_count.counter s64min-0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &esw->mode_lock
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &tx->ft.mutex
TYPE_LOCK (struct mlx5_eswitch)->mode_lock