Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/ethernet/intel/igb/igb_main.c igb_finalize_xdp() -> igb_xdp_ring_update_tail()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->netdev 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
DATA_SOURCE 0 ring r igb_xdp_tx_queue_mapping
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/intel/igb/igb_main.c igb_xdp_xmit() -> igb_xdp_ring_update_tail()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->netdev 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/intel/igb/igb_xsk.c igb_xmit_zc() -> igb_xdp_ring_update_tail()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->desc 4096-ptr_max
PARAM_VALUE 0 ring->netdev 4096-ptr_max
PARAM_VALUE 0 ring->tx_buffer_info 4096-ptr_max
PARAM_VALUE 0 ring->xsk_pool 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
CAPPED_DATA 0 ring->next_to_clean 1
DATA_SOURCE 0 ring $0
PARAM_COMPARE 0 ring->count >= $0->next_to_use
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock