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_best_prefetch_location() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 1 node_b 4096-ptr_max
PARAM_VALUE 1 node_b->adev 4096-ptr_max
CAPPED_DATA 1 node_b->adev 1
DATA_SOURCE 1 node_b r svm_range_get_node_by_id
PARAM_COMPARE 1 node_b->adev != $0->adev
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
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)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_best_restore_location() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 0 node_a->adev 4096-ptr_max
PARAM_VALUE 1 node_b 1-u64max
CAPPED_DATA 0 node_a 1
DATA_SOURCE 0 node_a $1
DATA_SOURCE 1 node_b r svm_range_get_node_by_id
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_best_restore_location() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 0 node_a->adev 4096-ptr_max
PARAM_VALUE 1 node_b 1-u64max
CAPPED_DATA 0 node_a 1
CAPPED_DATA 0 node_a->adev 1
DATA_SOURCE 0 node_a $1
DATA_SOURCE 1 node_b r svm_range_get_node_by_id
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_get_pte_flags() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 0 node_a->adev 4096-ptr_max
CAPPED_DATA 0 node_a 1
DATA_SOURCE 0 node_a $0
PARAM_COMPARE 0 node_a != $1
PARAM_COMPARE 1 node_b != $0
PARAM_COMPARE 1 node_b != $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
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

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_get_pte_flags() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 0 node_a->adev 4096-ptr_max
CAPPED_DATA 0 node_a 1
DATA_SOURCE 0 node_a $0
PARAM_COMPARE 0 node_a != $1
PARAM_COMPARE 1 node_b != $0
PARAM_COMPARE 1 node_b != $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
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

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_get_pte_flags() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 1 node_b 4096-ptr_max
PARAM_VALUE 1 node_b->adev 4096-ptr_max
CAPPED_DATA 1 node_b 1
CAPPED_DATA 1 node_b->adev 1
DATA_SOURCE 1 node_b $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
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

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_get_pte_flags() -> svm_nodes_in_same_hive()

Type Parameter Key Value
PARAM_VALUE 0 node_a 4096-ptr_max
PARAM_VALUE 1 node_b 4096-ptr_max
PARAM_VALUE 1 node_b->adev 4096-ptr_max
CAPPED_DATA 1 node_b 1
CAPPED_DATA 1 node_b->adev 1
DATA_SOURCE 1 node_b $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
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