Defined in 1 files as a function:
Referenced in 5 files:
- include/linux/memremap.h, line 212
- include/linux/mm.h, line 2836
- mm/gup.c
- mm/migrate_device.c
- mm/rmap.c, line 2810
Smatch caller information:
mm/gup_test.c folio_is_longterm_pinnable() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $0 |
lib/test_hmm.c is_device_coherent_page() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dmirror->mutex |
mm/rmap.c try_to_migrate() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio | 1 |
| DATA_SOURCE | 0 | folio | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/gpu/drm/drm_gpusvm.c is_device_coherent_page() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vm->lock | ||
| HALF_LOCKED2 | &(range->gpusvm)->notifier_lock | ||
| HALF_LOCKED2 | &gpusvm->notifier_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct xe_vm)->lock |
mm/hugetlb.c folio_is_longterm_pinnable() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &hugetlb_lock | ||
| LOCK2 | irq |
mm/migrate_device.c __migrate_device_pages() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r _compound_head |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/migrate_device.c is_device_coherent_page() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/migrate_device.c migrate_vma_insert_huge_pmd_page() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r _compound_head |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/migrate_device.c migrate_vma_insert_page() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | r _compound_head |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/gup.c collect_longterm_unpinnable_folios() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/gup.c folio_is_longterm_pinnable() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio | 1 |
| DATA_SOURCE | 0 | folio | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
mm/gup.c migrate_longterm_unpinnable_folios() -> folio_is_device_coherent()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r pofs_get_folio |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |