Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/can/virtio_can.c virtqueue_napi_complete() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_count 0
PARAM_VALUE 0 napi->gro.rx_list.next->next 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_list.next->prev 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_list.prev->next 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 napi->list_owner (-1)
PARAM_VALUE 0 napi->poll_list.next 4096-ptr_max
PARAM_VALUE 0 napi->poll_list.next->prev 4096-ptr_max
PARAM_VALUE 0 napi->poll_list.prev->next 4096-ptr_max
PARAM_VALUE 0 napi->thread->delays->blkio_count 0-4294967295
PARAM_VALUE 0 napi->thread->delays->blkio_delay_max 0-s64max
PARAM_VALUE 0 napi->thread->delays->blkio_delay_min 0-s64max
PARAM_VALUE 0 napi->timer.base->active.rb_root.rb_leftmost->node.__rb_parent_color 1
PARAM_VALUE 0 napi->timer.is_rel 0
PARAM_VALUE 0 napi->timer.node.node.node.__rb_parent_color 1
PARAM_VALUE 0 napi->timer.node.node.node.rb_left 4096-ptr_max
PARAM_VALUE 0 napi->timer.node.node.node.rb_right 4096-ptr_max
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->vdev 4096-ptr_max
PARAM_VALUE 1 vq->vdev->priv 4096-ptr_max
BUF_SIZE 0 napi (-1),128
BUF_SIZE 0 napi (-1),128
DATA_SOURCE 0 napi $0
DATA_SOURCE 1 vq $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c check_sq_full_and_disable() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->num_free 0-18
HARD_MAX 1 vq->num_free 18
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c skb_recv_done() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->callback 1-u64max
PARAM_VALUE 1 vq->vdev 4096-ptr_max
DATA_SOURCE 1 vq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 &vp_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/net/virtio_net.c skb_xmit_done() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 0 napi->weight s32min-(-1),1-s32max
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->callback 1-u64max
PARAM_VALUE 1 vq->vdev 4096-ptr_max
BUF_SIZE 0 napi 560
DATA_SOURCE 1 vq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 &vp_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/net/virtio_net.c start_xmit() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->vdev 4096-ptr_max
PARAM_VALUE 1 vq->vdev->priv 4096-ptr_max
PARAM_VALUE 1 vq->vdev->priv->hdr_len 0-255
CAPPED_DATA 1 vq->vdev->priv->hdr_len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c virtnet_napi_do_enable() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 0 napi->config 0,4096-ptr_max
PARAM_VALUE 0 napi->dev 4096-ptr_max
PARAM_VALUE 0 napi->dev->lock.dep_map->name 0-255
PARAM_VALUE 0 napi->dev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 napi->dev->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 napi->dev->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 napi->dev->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 napi->dev->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 napi->dev->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 napi->thread 0,4096-ptr_max
PARAM_VALUE 0 napi->thread->blocked_on 0
PARAM_VALUE 0 napi->thread->cpus_ptr 4096-ptr_max
PARAM_VALUE 0 napi->thread->migration_disabled 0-1
PARAM_VALUE 0 napi->thread->on_rq 0-1,3-255
PARAM_VALUE 0 napi->thread->saved_state 0
PARAM_VALUE 0 napi->thread->wake_cpu 0-s32max
PARAM_VALUE 0 *napi->thread->delays->lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->vdev 4096-ptr_max
BUF_SIZE 0 napi (-1),560
BUF_SIZE 0 napi (-1),560
DATA_SOURCE 0 napi $1
DATA_SOURCE 1 vq $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh

drivers/net/virtio_net.c virtnet_set_queues() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
HALF_LOCKED2 global &rtnl_mutex

drivers/net/virtio_net.c virtqueue_napi_complete() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_count 0
PARAM_VALUE 0 napi->gro.rx_list.next->next 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_list.next->prev 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_list.prev->next 4096-ptr_max
PARAM_VALUE 0 napi->gro.rx_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 napi->list_owner (-1)
PARAM_VALUE 0 napi->poll_list.next 4096-ptr_max
PARAM_VALUE 0 napi->poll_list.next->prev 4096-ptr_max
PARAM_VALUE 0 napi->poll_list.prev->next 4096-ptr_max
PARAM_VALUE 0 napi->thread->delays->blkio_count 0-4294967295
PARAM_VALUE 0 napi->thread->delays->blkio_delay_max 0-s64max
PARAM_VALUE 0 napi->thread->delays->blkio_delay_min 0-s64max
PARAM_VALUE 0 napi->timer.base->active.rb_root.rb_leftmost->node.__rb_parent_color 1
PARAM_VALUE 0 napi->timer.is_rel 0
PARAM_VALUE 0 napi->timer.node.node.node.__rb_parent_color 1
PARAM_VALUE 0 napi->timer.node.node.node.rb_left 4096-ptr_max
PARAM_VALUE 0 napi->timer.node.node.node.rb_right 4096-ptr_max
PARAM_VALUE 1 vq 4096-ptr_max
PARAM_VALUE 1 vq->vdev 4096-ptr_max
PARAM_VALUE 1 vq->vdev->priv 4096-ptr_max
PARAM_VALUE 1 *vq->vdev->priv->dev->name 0-255
BUF_SIZE 0 napi (-1),128
BUF_SIZE 0 napi (-1),128
CAPPED_DATA 1 vq->num_free 1
CAPPED_DATA 1 vq->vdev->priv->dev->num_tx_queues 1
DATA_SOURCE 0 napi $0
DATA_SOURCE 1 vq $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/virtio_net.c xsk_wakeup() -> virtqueue_napi_schedule()

Type Parameter Key Value
PARAM_VALUE 0 napi 4096-ptr_max
DATA_SOURCE 0 napi $0
DATA_SOURCE 1 vq $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh