Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

lib/test_hmm.c dmirror_migrate_alloc_and_copy() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r migrate_pfn_to_page
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

fs/proc/task_mmu.c can_gather_numa_stats() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r vm_normal_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_get_pages() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r hmm_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 &gpusvm->notifier_lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/gpu/drm/drm_pagemap.c drm_pagemap_migrate_to_devmem() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r migrate_pfn_to_page
LOCK2 &driver_migrate_lock
LOCK2 &mm->mmap_lock
LOCK2 &vm->lock
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_pagemap.c drm_pagemap_migrate_unmap_pages() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r migrate_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c svm_migrate_copy_to_ram() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r migrate_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 &prange->migrate_mutex
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &p->svms.lock
HALF_LOCKED2 &process_info->lock
HALF_LOCKED2 &svms->lock
TYPE_LOCK (struct svm_range)->migrate_mutex

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c svm_migrate_copy_to_vram() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r migrate_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock

mm/migrate_device.c migrate_vma_collect_pmd() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r vm_normal_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/memory-failure.c __add_to_kill() -> is_zone_device_page()

Type Parameter Key Value
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 rcu_read
HALF_LOCKED2 &av->root->rwsem
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 global &mf_mutex

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_dma_map_dev() -> is_zone_device_page()

Type Parameter Key Value
DATA_SOURCE 0 page r hmm_pfn_to_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock

kernel/dma/mapping.c dma_map_page_attrs() -> is_zone_device_page()

Type Parameter Key Value
DATA_SOURCE 0 page $1

mm/khugepaged.c try_collapse_pte_mapped_thp() -> is_zone_device_page()

Type Parameter Key Value
PARAM_VALUE 0 page 1-u64max
DATA_SOURCE 0 page r vm_normal_page
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock