Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

block/bfq-iosched.c bfq_bfqq_handle_idle_busy_switch() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 0 bfqd->queue 4096-ptr_max
PARAM_VALUE 0 bfqd->queue->blk_trace 0,4096-ptr_max
PARAM_VALUE 0 bfqd->queue->blk_trace->act_mask 1024-u64max
PARAM_VALUE 0 bfqd->root_group 4096-ptr_max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 4
CAPPED_DATA 0 bfqd->num_actuators 1
CAPPED_DATA 0 bfqd->queue->blk_trace 1
DATA_SOURCE 0 bfqd $0
PARAM_COMPARE 0 bfqd->root_group->sched_data.in_service_entity != $0->root_group->sched_data.next_in_service
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bfqd->lock
LOCK2 irq
TYPE_LOCK (struct bfq_data)->lock

block/bfq-iosched.c bfq_completed_request() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 0 bfqd->last_completed_rq_bfqq 0,4096-ptr_max
PARAM_VALUE 0 bfqd->rq_in_driver 4096-ptr_max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 1 bfqq->bfqd 4096-ptr_max
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 1
BUF_SIZE 0 bfqd->last_completed_rq_bfqq 0-s32max
BUF_SIZE 1 bfqq 1-s32max
BUF_SIZE 1 bfqq 1-s32max
CAPPED_DATA 0 bfqd->in_service_queue 1
CAPPED_DATA 1 bfqq 1
DATA_SOURCE 0 bfqd $1
DATA_SOURCE 1 bfqq $0
PARAM_COMPARE 0 bfqd->in_service_queue == $1
PARAM_COMPARE 1 bfqq == $0->in_service_queue
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &bfqd->lock
TYPE_LOCK (struct bfq_data)->lock

block/bfq-iosched.c bfq_completed_request() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 0 bfqd->last_completed_rq_bfqq 0,4096-ptr_max
PARAM_VALUE 0 bfqd->rq_in_driver 4096-ptr_max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 1 bfqq->bfqd 4096-ptr_max
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 3
BUF_SIZE 0 bfqd->last_completed_rq_bfqq 0-s32max
BUF_SIZE 1 bfqq 1-s32max
BUF_SIZE 1 bfqq 1-s32max
CAPPED_DATA 0 bfqd->in_service_queue 1
CAPPED_DATA 1 bfqq 1
DATA_SOURCE 0 bfqd $1
DATA_SOURCE 1 bfqq $0
PARAM_COMPARE 0 bfqd->in_service_queue == $1
PARAM_COMPARE 1 bfqq == $0->in_service_queue
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &bfqd->lock
TYPE_LOCK (struct bfq_data)->lock

block/bfq-iosched.c bfq_dispatch_rq_from_bfqq() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->dispatch.next 4096-ptr_max
PARAM_VALUE 0 bfqd->idle_slice_timer.is_queued 0
PARAM_VALUE 0 bfqd->idle_slice_timer.node.node.next 0
PARAM_VALUE 0 bfqd->idle_slice_timer.node.node.prev 0
PARAM_VALUE 0 bfqd->in_serv_last_pos 0
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue->bfqd->burst_size 0-s32max
PARAM_VALUE 0 bfqd->in_service_queue->bfqd->queue_weights_tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue->burst_list_node->next->pprev 1-u64max
PARAM_VALUE 0 bfqd->in_service_queue->entity.tree->rb_node 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue->pos_root->rb_node 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue->woken_list_node->next->pprev 1-u64max
PARAM_VALUE 0 bfqd->queue 4096-ptr_max
PARAM_VALUE 0 bfqd->queue->blk_trace 0,4096-ptr_max
PARAM_VALUE 0 bfqd->queue->blk_trace->act_mask 1024-u64max
PARAM_VALUE 0 bfqd->queue->elevator 4096-ptr_max
PARAM_VALUE 0 bfqd->queue->elevator->elevator_data 4096-ptr_max
PARAM_VALUE 0 bfqd->queue->elevator->elevator_data->bfq_max_budget s32min-s32max
PARAM_VALUE 0 bfqd->queue->elevator->elevator_data->last_rq_max_size 0-4294967295
PARAM_VALUE 0 bfqd->queue->elevator->elevator_data->peak_rate 1-4294967295
PARAM_VALUE 0 bfqd->queue->elevator->elevator_data->peak_rate_samples s32min-s32max
PARAM_VALUE 0 bfqd->queue->elevator->elevator_data->sequential_samples 0-4294967295
PARAM_VALUE 0 bfqd->queue->last_merge 0
PARAM_VALUE 0 bfqd->root_group->sched_data.next_in_service->sched_data->next_in_service 4096-ptr_max
PARAM_VALUE 0 bfqd->wait_dispatch 0
PARAM_VALUE 0 bfqd->waited_rq 0,4096-ptr_max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 1 bfqq->bfqd 4096-ptr_max
PARAM_VALUE 1 bfqq->entity.new_weight 1,1000
PARAM_VALUE 1 bfqq->entity.orig_weight 1-1000
PARAM_VALUE 1 bfqq->ioprio_class 3
PARAM_VALUE 1 bfqq->next_rq 4096-ptr_max
PARAM_VALUE 1 bfqq->next_rq->hash->next->pprev 1-u64max
PARAM_VALUE 1 bfqq->next_rq->hash.next 0
PARAM_VALUE 1 bfqq->next_rq->hash.pprev 0
PARAM_VALUE 1 bfqq->next_rq->queuelist.next->prev 4096-ptr_max
PARAM_VALUE 1 bfqq->next_rq->queuelist.prev->next 4096-ptr_max
PARAM_VALUE 1 bfqq->next_rq->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 1 bfqq->next_rq->rb_node.rb_right 0,4096-ptr_max
PARAM_VALUE 1 bfqq->wr_cur_max_time 0-536870912
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 2
BUF_SIZE 0 bfqd 368,3584
BUF_SIZE 0 bfqd 368,3584
CAPPED_DATA 0 bfqd->in_service_queue 1
CAPPED_DATA 0 bfqd->queue->blk_trace 1
CAPPED_DATA 1 bfqq 1
DATA_SOURCE 0 bfqd $0
DATA_SOURCE 1 bfqq $1
PARAM_COMPARE 0 bfqd->in_service_queue == $1
PARAM_COMPARE 1 bfqq == $0->in_service_queue
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bfqd->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 __tag_set->srcu
TYPE_LOCK (struct bfq_data)->lock

block/bfq-iosched.c bfq_idle_slice_timer_body() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 1-u64max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 1 bfqq->queued 4096-ptr_max
PARAM_VALUE 2 compensate 1
PARAM_VALUE 3 reason 0-1
CAPPED_DATA 0 bfqd->in_service_queue 1
CAPPED_DATA 1 bfqq 1
DATA_SOURCE 0 bfqd $0
DATA_SOURCE 1 bfqq $1
FUZZY_MAX 3 reason 1
PARAM_COMPARE 0 bfqd->in_service_queue == $1
PARAM_COMPARE 1 bfqq == $0->in_service_queue
HARD_MAX 3 reason 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &bfqd->lock
HALF_LOCKED2 irq
TYPE_LOCK (struct bfq_data)->lock

block/bfq-iosched.c bfq_rq_enqueued() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->bfq_fifo_expire 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 0 bfqd->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bfqd->queue 4096-ptr_max
PARAM_VALUE 0 bfqd->wr_busy_queues 0
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 1 bfqq->fifo.prev 4096-ptr_max
PARAM_VALUE 1 bfqq->fifo.prev->next 4096-ptr_max
PARAM_VALUE 1 bfqq->fifo.prev->next->next 4096-ptr_max
PARAM_VALUE 1 bfqq->queued 4096-ptr_max
PARAM_VALUE 1 bfqq->wr_cur_max_time 0-536870912
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 1
BUF_SIZE 0 bfqd 4,24,64,168-s32max
BUF_SIZE 0 bfqd 4,24,64,168-s32max
BUF_SIZE 1 bfqq (-1),1-s32max
BUF_SIZE 1 bfqq (-1),1-s32max
CAPPED_DATA 0 bfqd->idle_slice_timer.base 1
CAPPED_DATA 0 bfqd->in_service_queue 1
CAPPED_DATA 0 &bfqd->idle_slice_timer 1
CAPPED_DATA 1 bfqq 1
DATA_SOURCE 0 bfqd $0
DATA_SOURCE 1 bfqq $1
PARAM_COMPARE 0 bfqd->in_service_queue == $1
PARAM_COMPARE 1 bfqq == $0->in_service_queue
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &bfqd->lock
TYPE_LOCK (struct bfq_data)->lock

block/bfq-iosched.c bfq_select_queue() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->dispatch.next 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue->bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->queue 4096-ptr_max
PARAM_VALUE 0 bfqd->queue->blk_trace 0,4096-ptr_max
PARAM_VALUE 0 bfqd->queue->blk_trace->act_mask 1024-u64max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 1-3
BUF_SIZE 0 bfqd 368,3584
BUF_SIZE 0 bfqd 368,3584
CAPPED_DATA 0 bfqd->queue->blk_trace 1
DATA_SOURCE 0 bfqd $0
FUZZY_MAX 3 reason 3
HARD_MAX 3 reason 3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bfqd->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 __tag_set->srcu
TYPE_LOCK (struct bfq_data)->lock

block/bfq-cgroup.c bfq_bfqq_move() -> bfq_bfqq_expire()

Type Parameter Key Value
PARAM_VALUE 0 bfqd 4096-ptr_max
PARAM_VALUE 0 bfqd->in_service_queue 4096-ptr_max
PARAM_VALUE 1 bfqq 4096-ptr_max
PARAM_VALUE 2 compensate 0
PARAM_VALUE 3 reason 4
BUF_SIZE 0 bfqd (-1),368,3584
BUF_SIZE 0 bfqd (-1),368,3584
CAPPED_DATA 0 bfqd->in_service_queue 1
CAPPED_DATA 1 bfqq 1
DATA_SOURCE 0 bfqd $0
PARAM_COMPARE 0 &bfqd->oom_bfqq != $0->in_service_queue
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &blkcg->lock
HALF_LOCKED2 &q->queue_lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &bfqd->lock
TYPE_LOCK (struct bfq_data)->lock