Documented in 1 files:
Defined in 1 files as a function:
Referenced in 11 files:
- drivers/accel/amdxdna/aie2_ctx.c, line 1080
- drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c, line 244
- drivers/gpu/drm/drm_gpusvm.c
- drivers/gpu/drm/i915/gem/i915_gem_userptr.c
- drivers/gpu/drm/nouveau/nouveau_svm.c
- drivers/gpu/drm/xe/xe_pt.c, line 1570
- drivers/gpu/drm/xe/xe_userptr.c, line 302
- drivers/hv/mshv_regions.c, line 422
- drivers/infiniband/core/umem_odp.c, line 377
- drivers/infiniband/hw/hfi1/user_exp_rcv.c, line 424
- lib/test_hmm.c
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 |