Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

io_uring/sqpoll.c io_sq_tw_pending() -> mpscq_empty()

Type Parameter Key Value
LOCK2 &sqd->lock
TYPE_LOCK (struct io_sq_data)->lock

io_uring/napi.c io_local_work_pending() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

io_uring/wait.c io_local_work_pending() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

io_uring/io_uring.c io_local_work_pending() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 rcu_read

io_uring/cancel.c io_local_work_pending() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sqd->lock

io_uring/loop.c io_local_work_pending() -> mpscq_empty()

Type Parameter Key Value
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/tw.c io_cancel_local_task_work() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock

io_uring/tw.c io_cancel_local_task_work() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 _T->lock

io_uring/tw.c io_local_work_pending() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/tw.c tctx_task_work_run() -> mpscq_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &sqd->lock