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 |