Documented in 1 files:
Defined in 1 files as a function:
Referenced in 9 files:
- fs/proc/task_mmu.c
- mm/hmm.c, line 422
- mm/huge_memory.c
- mm/khugepaged.c, line 1203
- mm/madvise.c, line 391
- mm/memory.c, line 6682
- mm/mempolicy.c, line 660
- mm/migrate.c, line 566
- mm/page_vma_mapped.c
Smatch caller information:
mm/madvise.c madvise_cold_or_pageout_pte_range() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/huge_memory.c __split_huge_pmd_locked() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | r pmdp_huge_clear_flush |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema |
mm/huge_memory.c __split_huge_pmd_locked() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema |
mm/huge_memory.c __split_huge_pmd_locked() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema |
mm/huge_memory.c __split_huge_pmd_locked() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema |
mm/huge_memory.c madvise_free_huge_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/huge_memory.c move_pages_huge_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/huge_memory.c move_soft_dirty_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | $0 |
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
fs/proc/task_mmu.c clear_soft_dirty_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
fs/proc/task_mmu.c make_uffd_wp_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/page_vma_mapped.c page_vma_mapped_walk() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | r pmdp_get_lockless |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &ksm_thread_mutex | ||
| HALF_LOCKED2 | global &mf_mutex | ||
| HALF_LOCKED2 | rcu_read |
mm/page_vma_mapped.c page_vma_mapped_walk() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &ksm_thread_mutex | ||
| HALF_LOCKED2 | global &mf_mutex | ||
| HALF_LOCKED2 | rcu_read |
mm/memory.c __handle_mm_fault() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | r pmdp_get_lockless |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mempolicy.c queue_folios_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | r pmdp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/migrate.c pmd_migration_entry_wait() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ctx->map_changing_lock |
mm/hmm.c hmm_vma_walk_pmd() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | r pmdp_get_lockless |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/khugepaged.c check_pmd_state() -> pmd_is_migration_entry()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pmd | r pmdp_get_lockless |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem | ||
| HALF_LOCKED2 | &mm->mmap_lock |