Documented in 1 files:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

mm/memory_hotplug.c scan_movable_pages() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &dev->mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex

mm/page_isolation.c isolate_single_pageblock() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page r __first_valid_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &pcp_batch_high_lock

mm/page_isolation.c page_is_unmovable() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter s32min-(-1),1-s32max
PARAM_VALUE 0 page->flags.f 0-18446744073709551614
DATA_SOURCE 0 page $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 &zone->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct zone)->lock

mm/compaction.c isolate_migratepages_block() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

mm/page_alloc.c prep_move_freepages_block() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page
LOCK2 &zone->lock
LOCK2 flags
TYPE_LOCK (struct zone)->lock

mm/vmscan.c reclaim_clean_pages_from_list() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cma->alloc_mutex
HALF_LOCKED2 &vm->hotplug_mutex

mm/memory-failure.c HWPoisonHandlable() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &attr->mutex

mm/migrate.c isolate_folio_to_list() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

mm/migrate.c isolate_movable_ops_page() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 0-s32max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page

mm/migrate.c isolate_movable_ops_page() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PARAM_VALUE 0 page->_refcount.counter 0-s32max
DATA_SOURCE 0 page $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 page unit_page

mm/migrate.c migrate_folio_done() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

mm/migrate.c migrate_folio_move() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

mm/migrate.c migrate_folio_unmap() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

mm/migrate.c migrate_movable_ops_page() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $1
RX_PATH
TASK_NOT_RUNNING

mm/migrate.c migrate_pages_batch() -> page_has_movable_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/migrate.c page_movable_ops() -> page_has_movable_ops()

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

mm/migrate.c putback_movable_ops_page() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
DATA_SOURCE 0 page $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

mm/migrate.c putback_movable_pages() -> page_has_movable_ops()

Type Parameter Key Value
PARAM_VALUE 0 page 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock