Documented in 1 files:

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_split_head() -> svm_range_split()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->child_list.next 4096-ptr_max
PARAM_VALUE 0 prange->child_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->child_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->child_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->child_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.next 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->invalid.counter 0
PARAM_VALUE 0 prange->list.next 4096-ptr_max
PARAM_VALUE 0 prange->list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->list.prev 4096-ptr_max
PARAM_VALUE 0 prange->list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0
PARAM_VALUE 0 prange->lock.magic 4096-ptr_max
PARAM_VALUE 0 prange->lock.osq.tail.counter 0
PARAM_VALUE 0 prange->lock.owner.counter 0
PARAM_VALUE 0 prange->migrate_mutex.dep_map->name 0-255
PARAM_VALUE 0 prange->migrate_mutex.first_waiter 0
PARAM_VALUE 0 prange->migrate_mutex.magic 4096-ptr_max
PARAM_VALUE 0 prange->migrate_mutex.osq.tail.counter 0
PARAM_VALUE 0 prange->migrate_mutex.owner.counter 0
PARAM_VALUE 0 prange->svm_bo_list.next 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->update_list.next 4096-ptr_max
PARAM_VALUE 0 prange->update_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->update_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->update_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->update_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->validate_timestamp 0
PARAM_VALUE 1 start 1-u64max
PARAM_VALUE 3 new 1327622802025631744
PARAM_VALUE 3 *new 0
BUF_SIZE 0 prange 1176
BUF_SIZE 0 prange 1176
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
DATA_SOURCE 0 prange $0
DATA_SOURCE 1 start $1
NOSPEC 1 start
NOSPEC 1 start
USER_DATA 1 start 1-9007199254740990[c]
NO_OVERFLOW_SIMPLE 0 prange->offset
UNITS 1 start 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

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

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->child_list.next 4096-ptr_max
PARAM_VALUE 0 prange->child_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->child_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->child_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->child_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.next 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->deferred_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->invalid.counter 0
PARAM_VALUE 0 prange->list.next 4096-ptr_max
PARAM_VALUE 0 prange->list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->list.prev 4096-ptr_max
PARAM_VALUE 0 prange->list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->lock.dep_map->name 0-255
PARAM_VALUE 0 prange->lock.first_waiter 0
PARAM_VALUE 0 prange->lock.magic 4096-ptr_max
PARAM_VALUE 0 prange->lock.osq.tail.counter 0
PARAM_VALUE 0 prange->lock.owner.counter 0
PARAM_VALUE 0 prange->migrate_mutex.dep_map->name 0-255
PARAM_VALUE 0 prange->migrate_mutex.first_waiter 0
PARAM_VALUE 0 prange->migrate_mutex.magic 4096-ptr_max
PARAM_VALUE 0 prange->migrate_mutex.osq.tail.counter 0
PARAM_VALUE 0 prange->migrate_mutex.owner.counter 0
PARAM_VALUE 0 prange->svm_bo_list.next 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->svm_bo_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->update_list.next 4096-ptr_max
PARAM_VALUE 0 prange->update_list.next->next 4096-ptr_max
PARAM_VALUE 0 prange->update_list.prev 4096-ptr_max
PARAM_VALUE 0 prange->update_list.prev->next 4096-ptr_max
PARAM_VALUE 0 prange->update_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 prange->validate_timestamp 0
PARAM_VALUE 2 last 0-18446744073709551614
PARAM_VALUE 3 new 4551926625378557952
PARAM_VALUE 3 *new 0
BUF_SIZE 0 prange 1176
BUF_SIZE 0 prange 1176
CAPPED_DATA 2 last 1
CAPPED_DATA 2 last 1
DATA_SOURCE 0 prange $0
DATA_SOURCE 2 last $1
NOSPEC 0 prange->last
NOSPEC 0 prange->start
NOSPEC 1 start
NOSPEC 1 start
USER_DATA 0 prange->last 0-s32max[c]
USER_DATA 0 prange->npages 1-s32max
USER_DATA 0 prange->start 1-4503599627370495[c]
USER_DATA 1 start 1-4503599627370495[c]
USER_DATA 2 last 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 prange->offset
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

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

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->start 0-4503599627370494
PARAM_VALUE 0 prange->work_item.op 0,2-u32max
PARAM_VALUE 1 start 0-4503599627370494
PARAM_VALUE 2 last 0-4503599627370494
PARAM_VALUE 3 new 4716408420119212032
PARAM_VALUE 3 *new 4096-ptr_max
CAPPED_DATA 0 prange 1
CAPPED_DATA 0 prange->start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 1 start 1
CAPPED_DATA 2 last 1
DATA_SOURCE 0 prange $1
PARAM_COMPARE 0 prange->last > $0->start
PARAM_COMPARE 1 start < $0->last
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 last 0-2147483646[c]
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 &parent->lock
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_unmap_split() -> svm_range_split()

Type Parameter Key Value
PARAM_VALUE 0 prange 4096-ptr_max
PARAM_VALUE 0 prange->last 1-u64max
PARAM_VALUE 0 prange->lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 start 1-4503599627370496
PARAM_VALUE 2 last 1-u64max
PARAM_VALUE 3 new 3350870119385640960
PARAM_VALUE 3 *new 4096-ptr_max
CAPPED_DATA 1 start 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 prange->npages 1-9007199254740990
USER_DATA 0 prange->start 0-9007199254740990[c]
USER_DATA 1 start 1-2147483648[c]
NO_OVERFLOW_SIMPLE 0 prange->offset
UNITS 1 start unit_page
UNITS 2 last unit_page
LOCK2 &parent->lock
LOCK2 &prange->lock
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex