Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_evict() -> svm_range_unmap_from_gpus()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 prange->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 prange->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 prange->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.wait_lock.owner (-1)
PARAM_VALUE 0 prange->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 start 0-4503599627370495
PARAM_VALUE 2 last 0-4503599627370495
PARAM_VALUE 4 trigger 0-1
CAPPED_DATA 0 &prange->child_list 1
CAPPED_DATA 0 &prange->lock 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
FUZZY_MAX 4 trigger 1
PARAM_COMPARE 1 start <= $2
PARAM_COMPARE 2 last >= $1
PARAM_COMPARE 2 last >= $1
HARD_MAX 4 trigger 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 start 1-4503599627370495[c]
USER_DATA 2 last 0-s32max[c]
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 &prange->lock
LOCK2 0 &prange->lock
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex
TYPE_LOCK (struct svm_range)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_evict() -> svm_range_unmap_from_gpus()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 prange->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 prange->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 prange->saved_flags 0,2048
PARAM_VALUE 1 start 0-4503599627370495
PARAM_VALUE 2 last 0-4503599627370495
PARAM_VALUE 4 trigger 0-1
CAPPED_DATA 0 &prange->child_list 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
DATA_SOURCE 0 prange $0
FUZZY_MAX 4 trigger 1
PARAM_COMPARE 1 start <= $2
PARAM_COMPARE 2 last >= $1
PARAM_COMPARE 2 last >= $1
BIT_INFO 0 prange->flags 0x0,0xffffffbf
HARD_MAX 4 trigger 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 start 1-4503599627370495[c]
USER_DATA 2 last 0-s32max[c]
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 0 &prange->lock
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_needs_unmap() -> svm_range_unmap_from_gpus()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 4 trigger 2
DATA_SOURCE 0 prange $1
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_unmap_from_cpu() -> svm_range_unmap_from_gpus()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 prange->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 prange->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 prange->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.wait_lock.owner (-1)
PARAM_VALUE 0 prange->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 start 0-4503599627370495
PARAM_VALUE 2 last 0-4503599627370495
PARAM_VALUE 4 trigger 2
CAPPED_DATA 0 &prange->child_list 1
CAPPED_DATA 0 &prange->lock 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
PARAM_COMPARE 1 start <= $2
PARAM_COMPARE 2 last >= $1
PARAM_COMPARE 2 last >= $1
NOSPEC 1 start
NOSPEC 2 last
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 start 1-4503599627370495[c]
USER_DATA 2 last 0-s32max[c]
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 &prange->lock
LOCK2 0 &prange->lock
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex
TYPE_LOCK (struct svm_range)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_unmap_from_cpu() -> svm_range_unmap_from_gpus()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 prange->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 prange->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 prange->saved_flags 0,2048
PARAM_VALUE 1 start 0-4503599627370495
PARAM_VALUE 2 last 0-4503599627370495
PARAM_VALUE 4 trigger 2
CAPPED_DATA 0 prange 1
CAPPED_DATA 0 &prange->child_list 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
DATA_SOURCE 0 prange $1
PARAM_COMPARE 1 start <= $2
PARAM_COMPARE 2 last >= $1
PARAM_COMPARE 2 last >= $1
NOSPEC 1 start
NOSPEC 2 last
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 start 1-4503599627370495[c]
USER_DATA 2 last 0-s32max[c]
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 0 &prange->lock
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_validate_and_map() -> svm_range_unmap_from_gpus()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 prange->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 prange->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 prange->migrate_mutex.dep_map->name 0-255
PARAM_VALUE 0 prange->migrate_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 prange->migrate_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 prange->migrate_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 prange->migrate_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 prange->migrate_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 prange->migrate_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 prange->notifier.ops->invalidate 0,4096-ptr_max
PARAM_VALUE 0 prange->notifier.ops->invalidate_finish 0,2193403108630056960
PARAM_VALUE 0 prange->notifier.ops->invalidate_start 0,7606346720449052672
PARAM_VALUE 0 prange->saved_flags 0,2048
PARAM_VALUE 1 start 0-18446744073709547520
PARAM_VALUE 2 last 0-18446744073709547520
PARAM_VALUE 4 trigger 2
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
DATA_SOURCE 0 prange $3
PARAM_COMPARE 1 start <= $2
PARAM_COMPARE 2 last >= $1
PARAM_COMPARE 2 last >= $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 start unit_byte
UNITS 2 last unit_byte
LOCK2 &mm->mmap_lock
LOCK2 &svms->lock
LOCK2 0 &prange->lock
LOCK2 0 &prange->migrate_mutex
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock