Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/workqueue.c drain_workqueue() -> pwq_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &wq->mutex
LOCK2 irq
LOCK2 0 &pwq->pool->lock
HALF_LOCKED2 &_d->mutex
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &evl->lock
HALF_LOCKED2 &ha->drain_mutex
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct worker_pool)->lock
TYPE_LOCK (struct workqueue_struct)->mutex

kernel/workqueue.c pwq_busy() -> pwq_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
CAPPED_DATA 0 pwq 1
DATA_SOURCE 0 pwq $0
PREEMPT_ADD
LOCK2 &wq->mutex
LOCK2 global &wq_pool_mutex
LOCK2 irq
LOCK2 0 &pwq->pool->lock
TYPE_LOCK (struct worker_pool)->lock
TYPE_LOCK (struct workqueue_struct)->mutex

kernel/workqueue.c show_one_workqueue() -> pwq_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 rcu_read

kernel/workqueue.c show_one_workqueue() -> pwq_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 pwq 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq_flags
LOCK2 0 &pwq->pool->lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct worker_pool)->lock