Documented in 1 files:

Defined in 1 files as a function:

Referenced in 11 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c amdgpu_hmm_range_valid() -> mmu_interval_read_retry()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &p->adev->notifier_lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &process_info->lock
HALF_LOCKED2 &process_info->notifier_lock
HALF_LOCKED2 &svms->lock

lib/test_hmm.c dmirror_range_fault() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
CAPPED_DATA 1 seq 1
CAPPED_DATA 1 seq 1
DATA_SOURCE 1 seq r mmu_interval_read_begin
PARAM_COMPARE 0 interval_sub->invalidate_seq == $1
PARAM_COMPARE 1 seq == $0->invalidate_seq
LOCK2 &dmirror->mutex
TYPE_LOCK (struct dmirror)->mutex

lib/test_hmm.c dmirror_range_fault_unlocked() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
LOCK2 &dmirror->mutex
TYPE_LOCK (struct dmirror)->mutex

lib/test_hmm.c dmirror_range_snapshot() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 3003087626218565632
BUF_SIZE 0 interval_sub 88
CAPPED_DATA 1 seq 1
CAPPED_DATA 1 seq 1
DATA_SOURCE 1 seq r mmu_interval_read_begin
PARAM_COMPARE 0 interval_sub->invalidate_seq == $1
PARAM_COMPARE 1 seq == $0->invalidate_seq
NOSPEC 0 interval_sub->interval_tree.start
USER_DATA 0 interval_sub->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 interval_sub->interval_tree.start 0-18446744073709551613
LOCK2 &dmirror->mutex
TYPE_LOCK (struct dmirror)->mutex

drivers/infiniband/core/umem_odp.c ib_umem_odp_map_dma_and_lock() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &umem_odp->umem_mutex
TYPE_LOCK (struct ib_umem_odp)->umem_mutex

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_get_pages() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
DATA_SOURCE 0 interval_sub $3
RX_PATH
TASK_NOT_RUNNING
LOCK2 &gpusvm->notifier_lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_scan_mm() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
BUF_SIZE 0 interval_sub 88
LOCK2 &(range->gpusvm)->notifier_lock
HALF_LOCKED2 &range->lock

drivers/infiniband/hw/hfi1/user_exp_rcv.c hfi1_user_exp_rcv_setup() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
USER_DATA 0 interval_sub->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 interval_sub->interval_tree.start 0-u64max
LOCK2 &tidbuf->cover_mutex
TYPE_LOCK (struct tid_user_buf)->cover_mutex

drivers/gpu/drm/i915/gem/i915_gem_userptr.c i915_gem_object_userptr_submit_done() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max

drivers/gpu/drm/i915/gem/i915_gem_userptr.c i915_gem_object_userptr_submit_init() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
LOCK2 obj->base.resv

drivers/gpu/drm/xe/xe_pt.c vma_check_userptr() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
LOCK2 &vm->svm.gpusvm.notifier_lock
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/gpu/drm/xe/xe_userptr.c xe_vma_userptr_force_invalidate() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->svm.gpusvm.notifier_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/gpu/drm/nouveau/nouveau_svm.c nouveau_atomic_range_fault() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 5835573037599842304
DATA_SOURCE 1 seq r mmu_interval_read_begin
LOCK2 &svmm->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nouveau_svmm)->mutex

drivers/gpu/drm/nouveau/nouveau_svm.c nouveau_range_fault() -> mmu_interval_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 interval_sub 5835573037599842304
BUF_SIZE 0 interval_sub 88
LOCK2 &svmm->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nouveau_svmm)->mutex

drivers/accel/amdxdna/aie2_ctx.c aie2_populate_range() -> mmu_interval_read_retry()

Type Parameter Key Value
LOCK2 &client->hwctx_srcu
LOCK2 &hwctx->priv->job_sem
LOCK2 &xdna->notifier_lock
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
TYPE_LOCK (struct amdxdna_client)->hwctx_srcu
TYPE_LOCK (struct amdxdna_dev)->notifier_lock
TYPE_LOCK (struct amdxdna_hwctx_priv)->job_sem