Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/workqueue.c bh_worker() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 pool->nr_running 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c node_activate_pending_pwq() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev->next->next 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nna->lock
HALF_LOCKED2 &locked_pool->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 *irq_flags
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct worker_pool)->lock
TYPE_LOCK (struct wq_node_nr_active)->lock

kernel/workqueue.c rescuer_thread() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 pool->workers.prev 4096-ptr_max
PARAM_VALUE 0 pool->workers.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->workers.prev->next->next 4096-ptr_max
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c unbind_workers() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-18446744073709547519
PARAM_VALUE 0 pool->flags 0,4-u32max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 pool->nr_running 0
BUF_SIZE 0 pool (-1),2160
BUF_SIZE 0 pool (-1),2160
CAPPED_DATA 0 pool 1
CAPPED_DATA 0 &pool->workers 1
BIT_INFO 0 pool->flags 0x4,0xffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &wq_pool_attach_mutex
LOCK2 irq
LOCK2 0 &pool->lock
HALF_LOCKED2 global &cpuhp_state_mutex
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c unplug_oldest_pwq() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 pool->worklist.prev 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &wq->mutex
LOCK2 irq
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock
TYPE_LOCK (struct workqueue_struct)->mutex

kernel/workqueue.c wq_adjust_max_active() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 pool->worklist.prev 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->worklist.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &wq->mutex
LOCK2 irq_flags
LOCK2 0 &pool->lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 global &wq_pool_mutex
TYPE_LOCK (struct worker_pool)->lock
TYPE_LOCK (struct workqueue_struct)->mutex

kernel/workqueue.c wq_worker_sleeping() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c wq_worker_tick() -> kick_pool()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock