Documented in 1 files:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

block/blk-throttle.c throtl_qnode_add_bio() -> blkg_get()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &q->queue_lock
LOCK2 irq
TYPE_LOCK (struct request_queue)->queue_lock

block/blk-cgroup.c bio_associate_blkg_from_css() -> blkg_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 irq

block/blk-cgroup.c blkcg_activate_policy() -> blkg_get()

Type Parameter Key Value
PARAM_VALUE 0 blkg 4096-ptr_max
PARAM_VALUE 0 blkg->blkcg_node.pprev 1-u64max
PARAM_VALUE 0 blkg->pd 4096-ptr_max
CAPPED_DATA 0 blkg 1
CAPPED_DATA 0 &blkg->q_node 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &q->blkcg_mutex
LOCK2 &q->queue_lock
LOCK2 irq
HALF_LOCKED2 &bdev->bd_queue->rq_qos_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &q->elevator_lock
TYPE_LOCK (struct request_queue)->blkcg_mutex
TYPE_LOCK (struct request_queue)->queue_lock

block/blk-cgroup.c blkcg_get_first_blkg() -> blkg_get()

Type Parameter Key Value
PARAM_VALUE 0 blkg 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &blkcg->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wb->bdi->cgwb_release_mutex
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct blkcg)->lock

block/blk-cgroup.c blkg_create() -> blkg_get()

Type Parameter Key Value
PARAM_VALUE 0 blkg 1-u64max
BUF_SIZE 0 blkg->q (-1)-s32max
DATA_SOURCE 0 blkg r blkg_lookup
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &q->queue_lock
LOCK2 irq
HALF_LOCKED2 &bdev->bd_queue->rq_qos_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &q->blkcg_mutex
TYPE_LOCK (struct request_queue)->queue_lock

block/bfq-cgroup.c bfqg_and_blkg_get() -> blkg_get()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 irq