Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-iocost.c ioc_check_iocgs() -> iocg_kick_waitq()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->waitq.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 pay_debt 1
PARAM_VALUE 2 now 8240678478204813312
CAPPED_DATA 0 &iocg->active_list 1
DATA_SOURCE 2 now $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 irq
LOCK2 0 &iocg->waitq.lock
TYPE_LOCK (struct ioc)->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c ioc_forgive_debts() -> iocg_kick_waitq()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->waitq.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 pay_debt 1
PARAM_VALUE 2 now 8240678478204813312
CAPPED_DATA 0 &iocg->active_list 1
DATA_SOURCE 2 now $3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ioc->lock
LOCK2 irq
LOCK2 0 &iocg->waitq.lock
TYPE_LOCK (struct ioc)->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c iocg_handle_over_budget() -> iocg_kick_waitq()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->hweight_active 1-u32max
PARAM_VALUE 0 iocg->hweight_inuse 1-u32max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 0 iocg->level s32min-(-1),1-s32max
PARAM_VALUE 0 iocg->waitq.head.prev 4096-ptr_max
PARAM_VALUE 0 iocg->waitq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 iocg->waitq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 2 now 5497530922906451968
CAPPED_DATA 0 &iocg->active_list 1
DATA_SOURCE 0 iocg $1
DATA_SOURCE 1 pay_debt $6
DATA_SOURCE 2 now $3
PARAM_COMPARE 0 &iocg->active_list != $0->active_list.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &iocg->waitq.lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 0 &iocg->ioc->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c iocg_waitq_timer_fn() -> iocg_kick_waitq()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 0 iocg->waitq.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 pay_debt 1
PARAM_VALUE 2 now 6482822333451345920
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &iocg->ioc->lock
LOCK2 0 &iocg->waitq.lock
HALF_LOCKED2 irq
TYPE_LOCK (struct ioc)->lock
TYPE_LOCK (struct wait_queue_head)->lock

block/blk-iocost.c iocg_waitq_timer_fn() -> iocg_kick_waitq()

Type Parameter Key Value
PARAM_VALUE 0 iocg 4096-ptr_max
PARAM_VALUE 0 iocg->ioc 4096-ptr_max
PARAM_VALUE 1 pay_debt 0
PARAM_VALUE 2 now 6482822333451345920
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &iocg->waitq.lock
HALF_LOCKED2 irq
TYPE_LOCK (struct wait_queue_head)->lock