Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
net/smc/smc_tx.c smc_link_sendable() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 1-u64max |
| DATA_SOURCE | 0 | lnk | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | sk |
net/smc/smc_cdc.c smc_link_sendable() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | lnk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | sk |
net/smc/smc_wr.c smc_link_sendable() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| DATA_SOURCE | 0 | lnk | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | lnk->max_recv_wr | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->max_send_wr | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->roce_pd->device->hw_stats_attr_index | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->roce_pd->device->num_comp_vectors | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->roce_pd->device->phys_port_cnt | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->wr_rx_buflen | |
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | 0 | &lnk->lgr->llc_conf_mutex |
net/smc/smc_llc.c smc_link_sendable() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | lnk | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | lnk->max_recv_wr | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->max_send_wr | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->roce_pd->device->hw_stats_attr_index | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->roce_pd->device->num_comp_vectors | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->roce_pd->device->phys_port_cnt | |
| NO_OVERFLOW_SIMPLE | 0 | lnk->wr_rx_buflen | |
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &lnk->lgr->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_event_handler() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &pool->lock |
net/smc/smc_llc.c smc_llc_event_work() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &pool->lock |
net/smc/smc_llc.c smc_llc_find_asym_link() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| LOCK2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_find_asym_link() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| LOCK2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_find_asym_link() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| LOCK2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_usable_link() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_wait() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| CAPPED_DATA | 0 | lnk | 1 |
| DATA_SOURCE | 0 | lnk | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->rmbs_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending | ||
| HALF_LOCKED2 | 0 | &lnk->lgr->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_wait() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| PARAM_VALUE | 0 | lnk->state | 2-u32max |
| CAPPED_DATA | 0 | lnk | 1 |
| DATA_SOURCE | 0 | lnk | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->rmbs_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending | ||
| HALF_LOCKED2 | 0 | &lnk->lgr->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_wait() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| PARAM_VALUE | 0 | lnk->state | 2-u32max |
| CAPPED_DATA | 0 | lnk | 1 |
| DATA_SOURCE | 0 | lnk | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->rmbs_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending | ||
| HALF_LOCKED2 | 0 | &lnk->lgr->llc_conf_mutex |
net/smc/smc_llc.c smc_llc_wait() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| PARAM_VALUE | 0 | lnk->state | 0-1 |
| CAPPED_DATA | 0 | lnk | 1 |
| DATA_SOURCE | 0 | lnk | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | lnk | unit_byte |
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->rmbs_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending | ||
| HALF_LOCKED2 | 0 | &lnk->lgr->llc_conf_mutex |
net/smc/smc_core.c smc_link_sendable() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| DATA_SOURCE | 0 | lnk | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
net/smc/smc_core.c smc_llc_usable_link() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| PREEMPT_ADD | |||
| LOCK2 | bh | ||
| LOCK2 | global &smc_lgr_list.lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct smc_lgr_list)->lock |
net/smc/smc_core.c smc_nl_handle_lgr() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &smc_lgr->lock | ||
| LOCK2 | bh | ||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| TYPE_LOCK | (struct netlink_sock)->nl_cb_mutex | ||
| TYPE_LOCK | (struct smc_lgr_list)->lock |
net/smc/smc_core.c smcr_buf_map_usable_links() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_client_lgr_pending | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending | ||
| TYPE_LOCK | (struct smc_link_group)->llc_conf_mutex |
net/smc/smc_core.c smcr_lgr_set_type() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &lgr->llc_conf_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &smc->sk | ||
| HALF_LOCKED2 | global &smc_client_lgr_pending | ||
| HALF_LOCKED2 | global &smc_server_lgr_pending |
net/smc/smc_core.c smcr_next_link_id() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock |
net/smc/smc_core.c smcr_port_err() -> smc_link_usable()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | lnk | 4096-ptr_max |
| PREEMPT_ADD | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | global &smc_lgr_list.lock |