Documented in 2 files:

Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/gpu/drm/scheduler/sched_rq.c drm_sched_rq_update_fifo_locked() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->rb_right 0,4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PARAM_VALUE 1 tree->rb_root.rb_node 4096-ptr_max
NOCHECK_CALL

kernel/sched/build_policy.c __enqueue_dl_entity() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 node unit_byte

kernel/sched/build_policy.c enqueue_pushable_dl_task() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 node unit_byte
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 &p->sighand->siglock

kernel/locking/rtmutex_api.c rt_mutex_enqueue() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &task->pi_lock
HALF_LOCKED2 &lock->wait_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct rt_mutex_base)->wait_lock
TYPE_LOCK (struct task_struct)->pi_lock

kernel/locking/rtmutex_api.c rt_mutex_enqueue_pi() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 40,4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &task->pi_lock
HALF_LOCKED2 &lock->wait_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct rt_mutex_base)->wait_lock
TYPE_LOCK (struct task_struct)->pi_lock

lib/timerqueue.c timerqueue_add() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 node unit_byte
HALF_LOCKED2 &base->lock
HALF_LOCKED2 &group->lock
HALF_LOCKED2 &rtc->ops_lock
HALF_LOCKED2 irq

fs/btrfs/free-space-cache.c __btrfs_return_cluster_to_free_space() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cluster->lock
LOCK2 &ctl->tree_lock
HALF_LOCKED2 &cluster->refill_lock
TYPE_LOCK (struct btrfs_free_cluster)->lock
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c link_free_space() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctl->tree_lock
HALF_LOCKED2 &caching_ctl->mutex
HALF_LOCKED2 &ctl->cache_writeout_mutex
HALF_LOCKED2 &fs_info->commit_root_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c relink_bitmap_entry() -> rb_add_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->rb_left 0,4096-ptr_max
PARAM_VALUE 0 node->rb_right 0,4096-ptr_max
PARAM_VALUE 1 tree 4096-ptr_max
PARAM_VALUE 1 tree->rb_root.rb_node 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 node unit_byte
HALF_LOCKED2 &cluster->lock
HALF_LOCKED2 &ctl->tree_lock