Defined in 2 files as a function:
Referenced in 14 files:
- drivers/gpu/drm/amd/amdkfd/kfd_migrate.c, line 227
- drivers/gpu/drm/drm_gpusvm.c
- drivers/gpu/drm/drm_pagemap.c
- drivers/gpu/drm/nouveau/nouveau_dmem.c
- drivers/gpu/drm/xe/xe_svm.c, line 472
- drivers/pci/p2pdma.c
- fs/dax.c, line 391
- include/linux/mmzone.h
- lib/test_hmm.c
- mm/hmm.c, line 275
- mm/huge_memory.c, line 1462
- mm/memory.c, line 4938
- mm/memremap.c, line 522
- mm/migrate_device.c
Smatch caller information:
lib/iov_iter.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
lib/iov_iter.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/huge_memory.c do_huge_pmd_device_private() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | r softleaf_to_page |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
fs/dax.c dax_folio_reset_order() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
lib/test_hmm.c dmirror_devmem_alloc_page() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
lib/test_hmm.c dmirror_page_to_chunk() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 1-u64max |
| BUF_SIZE | 0 | page | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | page | s32min-(-1),1-s32max |
| CAPPED_DATA | 0 | page | 1 |
| DATA_SOURCE | 0 | page | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
| HALF_LOCKED2 | &mdevice->devmem_lock | ||
| HALF_LOCKED2 | &mdevice->lock |
drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_get_pages() -> page_pgmap()
| 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_gpusvm.c drm_gpusvm_get_pages() -> page_pgmap()
| 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_gpusvm.c drm_gpusvm_scan_mm() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | r hmm_pfn_to_page |
| LOCK2 | &(range->gpusvm)->notifier_lock | ||
| HALF_LOCKED2 | &range->lock |
drivers/pci/p2pdma.c __pci_p2pdma_update_state() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 0,4-u64max |
| DATA_SOURCE | 0 | page | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/pci/p2pdma.c p2pdma_folio_free() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| BUF_SIZE | 0 | page | 64 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/gpu/drm/drm_pagemap.c __drm_pagemap_migrate_to_ram() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
| HALF_LOCKED2 | &mm->mmap_lock |
drivers/gpu/drm/drm_pagemap.c drm_pagemap_migrate_to_devmem() -> page_pgmap()
| 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_to_devmem() -> page_pgmap()
| 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 |
block/bio-integrity.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
block/bio-integrity.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c svm_migrate_get_vram_page() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| PARAM_VALUE | 0 | page->zone_device_data | 4096-ptr_max |
| 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() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | page | r softleaf_to_page |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/migrate_device.c migrate_vma_collect_pmd() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | r vm_normal_page |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
block/blk-mq-dma.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
block/blk-mq-dma.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
mm/memory.c do_swap_page() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | r softleaf_to_page |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
| HALF_LOCKED2 | &mm->mmap_lock |
lib/scatterlist.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
lib/scatterlist.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
block/bio.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
| HALF_LOCKED2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &log->io_mutex | ||
| HALF_LOCKED2 | &pool->lock |
block/bio.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
| HALF_LOCKED2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &log->io_mutex | ||
| HALF_LOCKED2 | &pool->lock |
block/blk-merge.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
block/blk-merge.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
drivers/gpu/drm/nouveau/nouveau_dmem.c nouveau_dmem_page_alloc_locked() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
drivers/gpu/drm/nouveau/nouveau_dmem.c nouveau_page_to_chunk() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | page | (-1),64 |
| BUF_SIZE | 0 | page | (-1),64 |
| DATA_SOURCE | 0 | page | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
| HALF_LOCKED2 | &drm->dmem->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
drivers/md/dm-pcache/cache_writeback.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| LOCK2 | &cache->writeback_lock | ||
| LOCK2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache)->writeback_lock |
drivers/md/dm-pcache/cache_writeback.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| LOCK2 | &cache->writeback_lock | ||
| LOCK2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache)->writeback_lock |
block/blk-integrity.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
block/blk-integrity.c zone_device_pages_have_same_pgmap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 4096-ptr_max |
| DATA_SOURCE | 0 | page | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | page | unit_page |
mm/memremap.c zone_device_page_init() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | page | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &driver_migrate_lock | ||
| HALF_LOCKED2 | &prange->migrate_mutex | ||
| HALF_LOCKED2 | &svms->lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | global &drm_unplug_srcu | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
drivers/gpu/drm/xe/xe_svm.c xe_page_to_pagemap() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | page | 1-u64max |
| DATA_SOURCE | 0 | page | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &driver_migrate_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &drm_unplug_srcu |
mm/hmm.c hmm_vma_handle_pte() -> page_pgmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &mm->mmap_lock |