Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/workqueue.c need_to_create_worker() -> may_start_working()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
BUF_SIZE 0 pool->manager (-1),128
DATA_SOURCE 0 pool $0
PARAM_COMPARE 0 &pool->worklist != $0->worklist.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &wq_mayday_lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 &pool->lock

kernel/workqueue.c worker_thread() -> may_start_working()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_COMPARE 0 &pool->worklist != $0->worklist.next
PREEMPT_ADD <- disables preempt
LOCK2 irq
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock