Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/workqueue.c __queue_work() -> insert_work()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
PARAM_VALUE 0 pwq->inactive_works.next 4096-ptr_max
PARAM_VALUE 0 pwq->nr_in_flight 4096-ptr_max
PARAM_VALUE 0 pwq->pending_node.next->prev 4096-ptr_max
PARAM_VALUE 0 pwq->pending_node.prev->next 4096-ptr_max
PARAM_VALUE 0 pwq->pool 4096-ptr_max
PARAM_VALUE 1 work 4096-ptr_max
PARAM_VALUE 1 work->entry.next 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
PARAM_VALUE 3 extra_flags 0,32-4294967264
CAPPED_DATA 0 &pwq->inactive_works 1
CAPPED_DATA 1 work 1
CAPPED_DATA 1 &work->entry 1
DATA_SOURCE 1 work $2
DATA_SOURCE 3 extra_flags r work_color_to_flags
PARAM_COMPARE 0 &pwq->inactive_works == $0->inactive_works.next
PARAM_COMPARE 1 &work->entry == $1->entry.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &last_pool->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 irq
HALF_LOCKED2 irq_flags
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c __queue_work() -> insert_work()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
PARAM_VALUE 0 pwq->inactive_works.next 4096-ptr_max
PARAM_VALUE 0 pwq->nr_in_flight 4096-ptr_max
PARAM_VALUE 1 work 4096-ptr_max
PARAM_VALUE 1 work->entry.next 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
PARAM_VALUE 2 head->next 4096-ptr_max
PARAM_VALUE 3 extra_flags 2,34-4294967266
CAPPED_DATA 0 &pwq->inactive_works 1
CAPPED_DATA 1 work 1
CAPPED_DATA 1 &work->entry 1
DATA_SOURCE 1 work $2
PARAM_COMPARE 1 &work->entry == $1->entry.next
BIT_INFO 3 extra_flags 0x2,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &last_pool->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 irq
HALF_LOCKED2 irq_flags
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c insert_wq_barrier() -> insert_work()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
PARAM_VALUE 0 pwq->nr_in_flight 4096-ptr_max
PARAM_VALUE 0 pwq->wq 4096-ptr_max
PARAM_VALUE 1 work 2203663019674140672
PARAM_VALUE 3 extra_flags 2,10,34-4294967274
DATA_SOURCE 0 pwq $0
BIT_INFO 3 extra_flags 0x2,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pool->lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct worker_pool)->lock