Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_evictable() -> amdgpu_vm_eviction_unlock()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->last_unlocked 4096-ptr_max
PARAM_VALUE 0 vm->last_unlocked->cb_list.next 4096-ptr_max
PARAM_VALUE 0 vm->last_unlocked->cb_list.prev 4096-ptr_max
PARAM_VALUE 0 vm->last_unlocked->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 vm->last_unlocked->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 0 vm->last_unlocked->rcu.flags 0-4294967295
PARAM_VALUE 0 vm->last_unlocked->rcu.is_hard 0-1
PARAM_VALUE 0 vm->last_unlocked->rcu.is_lazy 0-1
PARAM_VALUE 0 vm->last_unlocked->rcu.is_queued 0-1
PARAM_VALUE 0 vm->last_unlocked->rcu.is_soft 0-1
PARAM_VALUE 0 vm->saved_flags 0,2048
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vm->eviction_lock
TYPE_LOCK (struct amdgpu_vm)->eviction_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_evictable() -> amdgpu_vm_eviction_unlock()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->evicting 1
PARAM_VALUE 0 vm->last_unlocked 4096-ptr_max
PARAM_VALUE 0 vm->saved_flags 0,2048
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vm->eviction_lock
TYPE_LOCK (struct amdgpu_vm)->eviction_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_ready() -> amdgpu_vm_eviction_unlock()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->eviction_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->eviction_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 vm->eviction_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vm->eviction_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 vm->eviction_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->root.bo 4096-ptr_max
PARAM_VALUE 0 vm->saved_flags 0,2048
BUF_SIZE 0 vm (-1),3552
BUF_SIZE 0 vm (-1),3552
DATA_SOURCE 0 vm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vm->eviction_lock
HALF_LOCKED2 &mem->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &svms->lock
TYPE_LOCK (struct amdgpu_vm)->eviction_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_update_range() -> amdgpu_vm_eviction_unlock()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->eviction_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->eviction_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 vm->eviction_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vm->eviction_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 vm->eviction_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->last_tlb_flush->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 vm->last_tlb_flush->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 0 vm->saved_flags 0,2048
BUF_SIZE 0 vm (-1),3552
BUF_SIZE 0 vm (-1),3552
DATA_SOURCE 0 vm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu
LOCK2 0 &vm->eviction_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &svms->lock
TYPE_LOCK (struct amdgpu_vm)->eviction_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_validate() -> amdgpu_vm_eviction_unlock()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->evicting 0
PARAM_VALUE 0 vm->eviction_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->eviction_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 vm->eviction_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vm->eviction_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 vm->eviction_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->root.bo 4096-ptr_max
PARAM_VALUE 0 vm->root.bo->tbo.base._resv.lock.ww_class->is_wait_die 0-1
PARAM_VALUE 0 vm->root.bo->tbo.base.resv->lock.ww_class->is_wait_die 0-1
PARAM_VALUE 0 vm->saved_flags 0,2048
PARAM_VALUE 0 vm->update_funcs->commit 2161818177330147328,8323128095845892096
PARAM_VALUE 0 vm->update_funcs->map_table 4564919005923745792,9011258376799428608
PARAM_VALUE 0 vm->update_funcs->prepare 4251642844425383936,7031573581169995776
PARAM_VALUE 0 vm->update_funcs->update 7987374799604060160,8841065111991332864
BUF_SIZE 0 vm (-1),3552
BUF_SIZE 0 vm (-1),3552
CAPPED_DATA 0 &vm->kernel.evicted 1
DATA_SOURCE 0 vm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vm->eviction_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &svms->lock
HALF_LOCKED2 0 vm->root.bo->tbo.base.resv
TYPE_LOCK (struct amdgpu_vm)->eviction_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c amdgpu_vm_pt_alloc() -> amdgpu_vm_eviction_unlock()

Type Parameter Key Value
PARAM_VALUE 0 vm 0
PARAM_VALUE 0 vm->update_funcs->update 4096-ptr_max
DATA_SOURCE 0 vm $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vm->eviction_lock
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &svms->lock
TYPE_LOCK (struct amdgpu_vm)->eviction_lock