Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 wq 4096-ptr_max
PARAM_VALUE 0 wq->attrs 4096-ptr_max
PARAM_VALUE 0 wq->attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 wq->attrs->affn_scope 0
PARAM_VALUE 0 wq->attrs->cpumask 1-u64max
PARAM_VALUE 0 wq->cpu_pwq 4096-ptr_max
PARAM_VALUE 0 wq->flags 0,2-u32max
PARAM_VALUE 0 wq->flusher_overflow.next 4096-ptr_max
PARAM_VALUE 0 wq->flusher_overflow.next->next 4096-ptr_max
PARAM_VALUE 0 wq->flusher_overflow.prev 4096-ptr_max
PARAM_VALUE 0 wq->flusher_overflow.prev->next 4096-ptr_max
PARAM_VALUE 0 wq->flusher_overflow.prev->prev 4096-ptr_max
PARAM_VALUE 0 wq->flusher_queue.next 4096-ptr_max
PARAM_VALUE 0 wq->flusher_queue.next->next 4096-ptr_max
PARAM_VALUE 0 wq->flusher_queue.prev 4096-ptr_max
PARAM_VALUE 0 wq->flusher_queue.prev->next 4096-ptr_max
PARAM_VALUE 0 wq->flusher_queue.prev->prev 4096-ptr_max
PARAM_VALUE 0 wq->list.next 4096-ptr_max
PARAM_VALUE 0 wq->list.next->next 4096-ptr_max
PARAM_VALUE 0 wq->list.prev 4096-ptr_max
PARAM_VALUE 0 wq->list.prev->next 4096-ptr_max
PARAM_VALUE 0 wq->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 wq->max_active 1-2048,s32max
PARAM_VALUE 0 wq->maydays.next 4096-ptr_max
PARAM_VALUE 0 wq->maydays.next->next 4096-ptr_max
PARAM_VALUE 0 wq->maydays.prev 4096-ptr_max
PARAM_VALUE 0 wq->maydays.prev->next 4096-ptr_max
PARAM_VALUE 0 wq->maydays.prev->prev 4096-ptr_max
PARAM_VALUE 0 wq->min_active 1-8
PARAM_VALUE 0 wq->mutex.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wq->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wq->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 wq->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 wq->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 wq->name 0
PARAM_VALUE 0 wq->node_nr_active 0
PARAM_VALUE 0 wq->nr_pwqs_to_flush.counter 0
PARAM_VALUE 0 wq->pwqs.next 4096-ptr_max
PARAM_VALUE 0 wq->pwqs.next->next 4096-ptr_max
PARAM_VALUE 0 wq->pwqs.prev 4096-ptr_max
PARAM_VALUE 0 wq->pwqs.prev->next 4096-ptr_max
PARAM_VALUE 0 wq->pwqs.prev->prev 4096-ptr_max
PARAM_VALUE 0 wq->saved_max_active 1-2048,s32max
PARAM_VALUE 0 wq->saved_min_active 1-8
PARAM_VALUE 0 *wq->name 0-127
BUF_SIZE 0 wq 512,528-8720
BUF_SIZE 0 wq 512,528-8720
BUF_SIZE 0 wq->attrs 40
BUF_SIZE 0 wq->node_nr_active 0,16-8208
CAPPED_DATA 0 wq->min_active 1
CAPPED_DATA 0 wq->saved_min_active 1
CAPPED_DATA 0 &wq->mutex 1
DATA_SOURCE 0 wq r _kzalloc_noprof
MEM_ZERO 0 wq
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 wq->name
LOCK2 global &wq_pool_mutex
LOCK2 0 &wq->mutex
TYPE_LOCK (struct workqueue_struct)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 wq 4096-ptr_max
PARAM_VALUE 0 wq->mutex.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wq->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wq->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 wq->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 wq->mutex.wait_lock.owner_cpu u32max
CAPPED_DATA 0 &wq->list 1
CAPPED_DATA 0 &wq->mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &system_transition_mutex
LOCK2 global &wq_pool_mutex
LOCK2 0 &wq->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &xenwatch_mutex
TYPE_LOCK (struct workqueue_struct)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 wq 4096-ptr_max
PARAM_VALUE 0 wq->mutex.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wq->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wq->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 wq->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 wq->mutex.wait_lock.owner_cpu u32max
CAPPED_DATA 0 &wq->list 1
CAPPED_DATA 0 &wq->mutex 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &system_transition_mutex
LOCK2 global &wq_pool_mutex
LOCK2 0 &wq->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct workqueue_struct)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 wq 4096-ptr_max
PARAM_VALUE 0 wq->mutex.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wq->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wq->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 wq->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 wq->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 wq->saved_max_active 1-2048
CAPPED_DATA 0 wq->saved_max_active 1
CAPPED_DATA 0 &wq->mutex 1
DATA_SOURCE 0 wq $0
BIT_INFO 0 wq->flags 0x0,0xfffdfffe
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &wq->mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct workqueue_struct)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 wq 4096-ptr_max
PARAM_VALUE 0 wq->mutex.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wq->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wq->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 wq->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 wq->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 wq->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 wq->saved_min_active s32min-1024
BUF_SIZE 0 wq (-1),512,528-8720
BUF_SIZE 0 wq (-1),512,528-8720
CAPPED_DATA 0 &wq->mutex 1
DATA_SOURCE 0 wq $0
NOCHECK_CALL
LOCK2 0 &wq->mutex
TYPE_LOCK (struct workqueue_struct)->mutex