Defined in 2 files as a prototype:
- include/linux/rbtree.h, line 50 (as a prototype)
- tools/include/linux/rbtree.h, line 54 (as a prototype)
Defined in 2 files as a function:
Referenced in 50 files:
- block/bfq-iosched.c
- block/bfq-wf2q.c, line 361
- block/elevator.c, line 872
- drivers/gpu/buddy.c
- drivers/gpu/drm/amd/amdkfd/kfd_svm.c, line 2829
- drivers/gpu/drm/drm_gpusvm.c
- drivers/gpu/drm/drm_gpuvm.c, line 2003
- drivers/gpu/drm/drm_mm.c, line 423
- drivers/iommu/iova.c, line 193
- drivers/md/bcache/util.h, line 523
- drivers/md/dm-writecache.c
- drivers/platform/surface/aggregator/controller.c
- drivers/vfio/vfio_iommu_type1.c
- fs/btrfs/extent-io-tree.c, line 218
- fs/btrfs/extent_map.c
- fs/btrfs/free-space-cache.c
- fs/btrfs/ordered-data.c
- fs/btrfs/qgroup.c
- fs/btrfs/volumes.c, line 3355
- fs/ext2/balloc.c, line 322
- fs/ext4/block_validity.c, line 101
- fs/ext4/extents_status.c
- fs/ext4/mballoc.c
- fs/f2fs/extent_cache.c
- fs/f2fs/gc.c, line 674
- fs/f2fs/segment.c
- fs/jffs2/nodelist.h
- fs/mount.h, line 215
- fs/namespace.c, line 5674
- fs/nfs/blocklayout/extent_tree.c, line 29
- fs/ntfs3/bitmap.c
- include/linux/kvm_host.h, line 1184
- include/linux/skbuff.h, line 4157
- ipc/mqueue.c, line 238
- kernel/events/uprobes.c, line 1545
- kernel/locking/ww_mutex.h, line 144
- kernel/nstree.c, line 124
- kernel/sched/ext/ext.c, line 1690
- lib/rbtree.c, line 539
- mm/memcontrol-v1.c, line 152
- mm/mempolicy.c, line 2905
- mm/vmalloc.c, line 5077
- net/ipv4/tcp_input.c, line 5959
- net/netfilter/nft_set_rbtree.c
- tools/objtool/elf.c, line 534
- tools/perf/builtin-annotate.c
- tools/perf/ui/browser.c, line 162
- tools/perf/ui/browsers/annotate.c, line 944
- tools/perf/util/callchain.c, line 1648
- tools/perf/util/hist.c, line 2195
Smatch caller information:
fs/btrfs/extent-io-tree.c prev_state() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tree->lock | ||
| TYPE_LOCK | (struct extent_io_tree)->lock |
fs/ext4/block_validity.c add_system_zone() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->__rb_parent_color | 1 |
| PARAM_VALUE | 0 | node->rb_left | 4096-ptr_max |
| BUF_SIZE | 0 | node | 24 |
| CAPPED_DATA | 0 | node | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/btrfs/ordered-data.c __tree_search() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &inode->ordered_tree_lock | ||
| TYPE_LOCK | (struct btrfs_inode)->ordered_tree_lock |
fs/btrfs/ordered-data.c btrfs_lookup_first_ordered_range() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| BUF_SIZE | 0 | node | 24 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &inode->ordered_tree_lock | ||
| TYPE_LOCK | (struct btrfs_inode)->ordered_tree_lock |
block/elevator.c elv_rb_former_request() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &dd->lock | ||
| HALF_LOCKED2 | irq |
fs/btrfs/volumes.c btrfs_find_chunk_map_nolock() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &fs_info->mapping_tree_lock | ||
| HALF_LOCKED2 | &dev_replace->lock_finishing_cancel_unmount | ||
| HALF_LOCKED2 | &dev_replace->rwsem | ||
| HALF_LOCKED2 | &fs_devices->device_list_mutex | ||
| HALF_LOCKED2 | &fs_info->chunk_mutex | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| TYPE_LOCK | (struct btrfs_fs_info)->mapping_tree_lock |
fs/f2fs/gc.c atssr_lookup_victim() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 0,4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &dirty_i->seglist_lock | ||
| HALF_LOCKED2 | &curseg->curseg_mutex | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->io_order_lock.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->pin_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->umount_mutex | ||
| HALF_LOCKED2 | &sit_i->sentry_lock | ||
| TYPE_LOCK | (struct dirty_seglist_info)->seglist_lock |
drivers/gpu/buddy.c __alloc_contig_try_harder() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bman->lock | ||
| HALF_LOCKED2 | &manager->lock | ||
| HALF_LOCKED2 | &mgr->lock |
drivers/gpu/buddy.c __force_merge() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mgr->lock |
drivers/gpu/buddy.c __force_merge() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| DATA_SOURCE | 0 | node | r rb_prev |
| PARAM_COMPARE | 0 | node | != $0->__rb_parent_color |
| PARAM_COMPARE | 0 | node | != $0->__rb_parent_color |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mgr->lock |
fs/f2fs/segment.c __lookup_discard_cmd_ret() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dcc->cmd_lock |
fs/f2fs/segment.c __lookup_discard_cmd_ret() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dcc->cmd_lock |
drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_notifier_insert() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->rb_left | 0,4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &vm->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct xe_vm)->lock |
drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_range_insert() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->rb_left | 0,4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(notifier->gpusvm)->notifier_lock | ||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &vm->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct xe_vm)->lock |
fs/ext4/extents_status.c ext4_es_try_to_merge_left() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/ext4/extents_status.c get_rsvd() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 0,4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock |
fs/ext4/extents_status.c init_rsvd() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock |
net/ipv4/tcp_input.c tcp_prune_ofo_queue() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | node | (-1),24 |
| BUF_SIZE | 0 | node | (-1),24 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sk->sk_lock.slock | ||
| HALF_LOCKED2 | sk |
net/ipv4/tcp_input.c tcp_shift_skb_data() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sk->sk_lock.slock | ||
| HALF_LOCKED2 | sk |
kernel/nstree.c ns_tree_node_add() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &ns_tree_lock.lock | ||
| HALF_LOCKED2 | &to_path.dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | global &namespace_sem | ||
| HALF_LOCKED2 | global &pernet_ops_rwsem |
block/bfq-iosched.c bfq_find_next_rq() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | irq |
block/bfq-iosched.c bfq_request_merged() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &dd->lock | ||
| HALF_LOCKED2 | irq |
block/bfq-iosched.c bfq_request_merged() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &dd->lock | ||
| HALF_LOCKED2 | irq |
block/bfq-iosched.c bfqq_find_close() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | irq |
fs/jffs2/readinode.c jffs2_add_tn_to_tree() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
fs/jffs2/readinode.c jffs2_add_tn_to_tree() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->__rb_parent_color | 1 |
| PARAM_VALUE | 0 | node->rb_left | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
fs/jffs2/readinode.c jffs2_add_tn_to_tree() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
fs/jffs2/readinode.c jffs2_build_inode_fragtree() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
fs/jffs2/readinode.c jffs2_build_inode_fragtree() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
fs/jffs2/readinode.c jffs2_build_inode_fragtree() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
arch/x86/kvm/mmu/mmu.c kvm_memslot_iter_start() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &kvm->mmu_lock | ||
| HALF_LOCKED2 | &kvm->arch.apic_map_lock | ||
| HALF_LOCKED2 | &kvm->arch.apicv_update_lock | ||
| HALF_LOCKED2 | &kvm->lock | ||
| HALF_LOCKED2 | &kvm->srcu | ||
| TYPE_LOCK | (struct kvm)->mmu_lock |
drivers/iommu/iova.c __alloc_and_insert_iova_range() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | node | (-1),24 |
| BUF_SIZE | 0 | node | (-1),24 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &iovad->iova_rbtree_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct iova_domain)->iova_rbtree_lock |
fs/btrfs/qgroup.c qgroup_unreserve_range() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->vfs_inode.i_rwsem |
fs/btrfs/qgroup.c qgroup_unreserve_range() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &inode->vfs_inode.i_rwsem |
fs/jffs2/nodelist.c jffs2_add_full_dnode_to_inode() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->alloc_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem |
drivers/gpu/drm/drm_mm.c next_hole() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bo->lock | ||
| HALF_LOCKED2 | &carveout->lock | ||
| HALF_LOCKED2 | &client->mm_lock | ||
| HALF_LOCKED2 | &context->lock | ||
| HALF_LOCKED2 | &ctx->lock | ||
| HALF_LOCKED2 | &etnaviv_obj->lock | ||
| HALF_LOCKED2 | &ggtt->lock | ||
| HALF_LOCKED2 | &ggtt->vm.mutex | ||
| HALF_LOCKED2 | &i915->mm.stolen_lock | ||
| HALF_LOCKED2 | &man->lock | ||
| HALF_LOCKED2 | &man->space_mutex | ||
| HALF_LOCKED2 | &mapping->mmu->mm_lock | ||
| HALF_LOCKED2 | &mgr->lock | ||
| HALF_LOCKED2 | &mgr->vm_lock | ||
| HALF_LOCKED2 | &private->mm_lock | ||
| HALF_LOCKED2 | &rman->lock | ||
| HALF_LOCKED2 | &rocket_priv->mm_lock | ||
| HALF_LOCKED2 | &t->ce->vm->mutex | ||
| HALF_LOCKED2 | &tegra->mm_lock | ||
| HALF_LOCKED2 | &v3d->mm_lock | ||
| HALF_LOCKED2 | &vgdev->host_visible_lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | &vm->mm_lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | bo->base.base.resv | ||
| HALF_LOCKED2 | global &drm_unplug_srcu | ||
| HALF_LOCKED2 | irqflags | ||
| HALF_LOCKED2 | obj->base.resv |
block/bfq-wf2q.c bfq_idle_extract() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | irq |
net/mptcp/protocol.c mptcp_prune_ofo_queue() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | node | (-1),24 |
| BUF_SIZE | 0 | node | (-1),24 |
fs/namespace.c listmnt_next() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| LOCK2 | global &namespace_sem |
fs/namespace.c move_from_ns() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &mount_lock.lock |
drivers/md/dm-writecache.c writecache_find_entry() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &wc->lock | ||
| HALF_LOCKED2 | &md->io_barrier | ||
| HALF_LOCKED2 | &md->suspend_lock | ||
| TYPE_LOCK | (struct dm_writecache)->lock |
drivers/md/dm-writecache.c writecache_flush() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &wc->lock | ||
| HALF_LOCKED2 | &md->io_barrier | ||
| TYPE_LOCK | (struct dm_writecache)->lock |
drivers/md/dm-writecache.c writecache_writeback() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| LOCK2 | &wc->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct dm_writecache)->lock |
fs/btrfs/free-space-cache.c test_check_exists() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &ctl->tree_lock | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c test_check_exists() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &ctl->tree_lock | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c tree_search_offset() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cluster->lock | ||
| HALF_LOCKED2 | &cluster->refill_lock | ||
| HALF_LOCKED2 | &ctl->cache_writeout_mutex | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c tree_search_offset() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cluster->lock | ||
| HALF_LOCKED2 | &cluster->refill_lock | ||
| HALF_LOCKED2 | &ctl->cache_writeout_mutex | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c tree_search_offset() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cluster->lock | ||
| HALF_LOCKED2 | &cluster->refill_lock | ||
| HALF_LOCKED2 | &ctl->cache_writeout_mutex | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c try_merge_free_space() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cluster->lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/nfs/blocklayout/extent_tree.c ext_tree_prev() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &bl->bl_ext_lock | ||
| TYPE_LOCK | (struct pnfs_block_layout)->bl_ext_lock |
fs/ext4/mballoc.c ext4_mb_pa_adjust_overlap() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &ei->i_prealloc_lock | ||
| TYPE_LOCK | (struct ext4_inode_info)->i_prealloc_lock |
fs/ext4/mballoc.c ext4_mb_pa_adjust_overlap() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| BUF_SIZE | 0 | node | 24 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &ei->i_prealloc_lock | ||
| TYPE_LOCK | (struct ext4_inode_info)->i_prealloc_lock |
fs/ext4/mballoc.c ext4_mb_use_preallocated() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &ei->i_prealloc_lock | ||
| TYPE_LOCK | (struct ext4_inode_info)->i_prealloc_lock |
fs/ext4/mballoc.c ext4_mb_use_preallocated() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| BUF_SIZE | 0 | node | 24 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &ei->i_prealloc_lock | ||
| TYPE_LOCK | (struct ext4_inode_info)->i_prealloc_lock |
fs/ext4/mballoc.c ext4_try_merge_freed_extent_prev() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | sb | ||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/pnode.c move_from_ns() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &mount_lock.lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &to_path.dentry->d_inode->i_rwsem | ||
| HALF_LOCKED2 | global &namespace_sem |
fs/btrfs/extent_map.c prev_extent_map() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| LOCK2 | &em_tree->lock | ||
| TYPE_LOCK | (struct extent_map_tree)->lock |
fs/btrfs/extent_map.c tree_insert() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| HALF_LOCKED2 | &em_tree->lock | ||
| HALF_LOCKED2 | &tree->lock | ||
| TYPE_LOCK | (struct extent_map_tree)->lock |
fs/btrfs/extent_map.c tree_search() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| HALF_LOCKED2 | &tree->lock |
fs/btrfs/extent_map.c try_merge_map() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tree->lock | ||
| TYPE_LOCK | (struct extent_map_tree)->lock |
fs/ntfs3/bitmap.c wnd_add_free_ext() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 0,4096-ptr_max |
| DATA_SOURCE | 0 | node | r rb_last |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &wnd->rw_lock |
fs/ntfs3/bitmap.c wnd_remove_free_ext() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &wnd->rw_lock |
drivers/vfio/vfio_iommu_type1.c vfio_dma_bitmap_alloc_all() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| UNITS | 0 | node | unit_byte |
| LOCK2 | &iommu->lock | ||
| TYPE_LOCK | (struct vfio_iommu)->lock |
drivers/vfio/vfio_iommu_type1.c vfio_dma_bitmap_alloc_all() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| LOCK2 | &iommu->lock | ||
| TYPE_LOCK | (struct vfio_iommu)->lock |
drivers/vfio/vfio_iommu_type1.c vfio_iommu_replay() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| UNITS | 0 | node | unit_byte |
| LOCK2 | &container->group_lock | ||
| LOCK2 | &iommu->lock | ||
| HALF_LOCKED2 | &group->group_lock | ||
| HALF_LOCKED2 | global &vfio.iommu_drivers_lock | ||
| TYPE_LOCK | (struct vfio_container)->group_lock | ||
| TYPE_LOCK | (struct vfio_iommu)->lock |
drivers/vfio/vfio_iommu_type1.c vpfn_pages() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &container->group_lock | ||
| HALF_LOCKED2 | &iommu->lock |
drivers/vfio/vfio_iommu_type1.c vpfn_pages() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| DATA_SOURCE | 0 | node | r rb_prev |
| PARAM_COMPARE | 0 | node | != $0->__rb_parent_color |
| PARAM_COMPARE | 0 | node | != $0->__rb_parent_color |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &container->group_lock | ||
| HALF_LOCKED2 | &iommu->lock |
fs/ext2/balloc.c search_reserve_window() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rsv_lock | ||
| HALF_LOCKED2 | &ei->truncate_mutex |
fs/jffs2/gc.c jffs2_garbage_collect_dnode() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &c->alloc_sem | ||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem | ||
| TYPE_LOCK | (struct jffs2_sb_info)->alloc_sem |
fs/jffs2/gc.c jffs2_garbage_collect_dnode() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &c->alloc_sem | ||
| LOCK2 | &f->sem | ||
| HALF_LOCKED2 | &c->wbuf_sem | ||
| TYPE_LOCK | (struct jffs2_inode_info)->sem | ||
| TYPE_LOCK | (struct jffs2_sb_info)->alloc_sem |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_get_range_boundaries() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &svms->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/platform/surface/aggregator/controller.c ssam_notifier_disable_registered() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &nf->lock | ||
| HALF_LOCKED2 | &dev->mutex | ||
| TYPE_LOCK | (struct ssam_nf)->lock |
drivers/platform/surface/aggregator/controller.c ssam_notifier_disable_registered() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| DATA_SOURCE | 0 | node | r rb_prev |
| PARAM_COMPARE | 0 | node | != $0->__rb_parent_color |
| PARAM_COMPARE | 0 | node | != $0->__rb_parent_color |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &nf->lock | ||
| HALF_LOCKED2 | &dev->mutex | ||
| TYPE_LOCK | (struct ssam_nf)->lock |
net/netfilter/nft_set_rbtree.c nft_rbtree_commit() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &nft_net->commit_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | global &audit_cmd_mutex.lock | ||
| HALF_LOCKED2 | global &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read |
net/netfilter/nft_set_rbtree.c nft_rbtree_gc_elem() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| LOCK2 | &priv->lock | ||
| TYPE_LOCK | (struct nft_rbtree)->lock |
net/netfilter/nft_set_rbtree.c nft_rbtree_gc_elem() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| CAPPED_DATA | 0 | node | 1 |
| LOCK2 | &priv->lock | ||
| TYPE_LOCK | (struct nft_rbtree)->lock |
net/netfilter/nft_set_rbtree.c nft_rbtree_prev_active() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| LOCK2 | &priv->lock | ||
| TYPE_LOCK | (struct nft_rbtree)->lock |
mm/mempolicy.c sp_lookup() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| LOCK2 | &sp->lock | ||
| TYPE_LOCK | (struct shared_policy)->lock |
kernel/events/uprobes.c build_probe_list() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| CAPPED_DATA | 0 | node | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &uprobes_treelock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/vmalloc.c pcpu_get_vm_areas() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 16,4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | global &free_vmap_area_lock | ||
| LOCK2 | global &pcpu_alloc_mutex |
arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_memslot_iter_start() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | node | unit_byte |
| HALF_LOCKED2 | &kvm->slots_lock |
drivers/gpu/drm/drm_gpuvm.c __drm_gpuva_insert() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PARAM_VALUE | 0 | node->rb_left | 0,4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cli->mutex |
fs/f2fs/extent_cache.c __lookup_extent_node_ret() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &et->lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct extent_tree)->lock |
fs/f2fs/extent_cache.c __lookup_extent_node_ret() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &et->lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct extent_tree)->lock |
mm/memcontrol-v1.c __mem_cgroup_remove_exceeded() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mctz->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct mem_cgroup_tree_per_node)->lock |
ipc/mqueue.c msg_tree_erase() -> rb_prev()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | node | 4096-ptr_max |
| BUF_SIZE | 0 | node | 24 |
| CAPPED_DATA | 0 | node | 1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &info->lock | ||
| TYPE_LOCK | (struct mqueue_inode_info)->lock |