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_clone() -> svm_range_new()

Type Parameter Key Value
PARAM_VALUE 3 update_mem_usage 0
LOCK2 &mm->mmap_lock
LOCK2 &process_info->lock
LOCK2 &svms->lock
HALF_LOCKED2 &p->mutex
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range_list)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_create_unregistered_range() -> svm_range_new()

Type Parameter Key Value
PARAM_VALUE 0 svms 4096-ptr_max
PARAM_VALUE 0 svms->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 svms->lock.wait_lock.owner (-1)
PARAM_VALUE 0 svms->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 2 last 0-4503599627370494,u64max
PARAM_VALUE 3 update_mem_usage 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 &mm->mmap_lock
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range_list)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_split() -> svm_range_new()

Type Parameter Key Value
PARAM_VALUE 3 update_mem_usage 0
CAPPED_DATA 1 start 1
NOSPEC 2 last
NOSPEC 2 last
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 start 1-2147483648[c]
USER_DATA 2 last 0-s32max[c]
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &parent->lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &process_info->lock
HALF_LOCKED2 &svms->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_split() -> svm_range_new()

Type Parameter Key Value
PARAM_VALUE 3 update_mem_usage 0
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 start 0-4503599627370495[c]
USER_DATA 2 last 0-9007199254740989
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &parent->lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &process_info->lock
HALF_LOCKED2 &svms->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_split_new() -> svm_range_new()

Type Parameter Key Value
PARAM_VALUE 0 svms 4096-ptr_max
PARAM_VALUE 0 svms->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 svms->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 svms->lock.wait_lock.owner (-1)
PARAM_VALUE 0 svms->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 3 update_mem_usage 1
BUF_SIZE 0 svms 1096
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
DATA_SOURCE 0 svms $0
DATA_SOURCE 1 start $1 [m]
NOSPEC 1 start
NOSPEC 1 start
NOSPEC 2 last
USER_DATA 1 start 0-9007199254740990[c]
USER_DATA 2 last 0-s32max[c]
UNITS 1 start unit_byte
UNITS 2 last unit_byte
LOCK2 &mm->mmap_lock
LOCK2 &process_info->lock
LOCK2 &svms->lock
HALF_LOCKED2 &p->mutex
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range_list)->lock