Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 12 files:

Smatch caller information:

mm/memory_hotplug.c do_migrate_range() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 7402715439902208000
PARAM_VALUE 0 from->next 4096-7402715439902207999,7402715439902208001-ptr_max
PARAM_VALUE 0 from->prev 4096-ptr_max
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 5141631671574016000
PARAM_VALUE 4 mode 2
PARAM_VALUE 5 reason 2
PARAM_VALUE 6 ret_succeeded 0
RX_PATH
TASK_NOT_RUNNING
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/compaction.c compact_zone() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 39519167169261744,627961168991527088,2805172457106239664
PARAM_VALUE 3 private 39519167169261568,627961168991526912,2805172457106239488
PARAM_VALUE 5 reason 0
PARAM_VALUE 6 ret_succeeded 2229681874892521472
CAPPED_DATA 3 &private->migratepages 1
DATA_SOURCE 3 private $0
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c __alloc_contig_migrate_range() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 4129468660797198512
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 398358716781297664
PARAM_VALUE 5 reason 6
PARAM_VALUE 6 ret_succeeded 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cma->alloc_mutex
HALF_LOCKED2 &vm->hotplug_mutex

mm/vmscan.c demote_folio_list() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 1732114209943896064
PARAM_VALUE 0 from->next 0-1732114209943896063,1732114209943896065-u64max
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 6367197525809991680
PARAM_VALUE 4 mode 0
PARAM_VALUE 5 reason 8
PARAM_VALUE 6 ret_succeeded 1244747738281684992
DATA_SOURCE 0 from $0
PARAM_COMPARE 0 from != $0->next
PARAM_COMPARE 0 from != $0->next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/memory-failure.c soft_offline_in_use_page() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 7157023987330686976
PARAM_VALUE 0 from->next 4096-ptr_max
PARAM_VALUE 0 from->prev 4096-ptr_max
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 5235996720164270080
PARAM_VALUE 4 mode 2
PARAM_VALUE 5 reason 1
PARAM_VALUE 6 ret_succeeded 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mf_mutex
HALF_LOCKED2 &of->mutex

mm/gup.c migrate_longterm_unpinnable_folios() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 8831517046014689280
PARAM_VALUE 0 from->next 8831517046014689280
PARAM_VALUE 0 from->prev 4096-ptr_max
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 7883007110703185920
PARAM_VALUE 4 mode 2
PARAM_VALUE 5 reason 7
PARAM_VALUE 6 ret_succeeded 0
DATA_SOURCE 0 from $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/damon/ops-common.c __damon_migrate_folio_list() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 1499568604902301696
PARAM_VALUE 0 from->next 4096-1499568604902301695,1499568604902301697-ptr_max
PARAM_VALUE 0 from->prev 1499568604902301696
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 3401114275978272768
PARAM_VALUE 4 mode 0
PARAM_VALUE 5 reason 9
PARAM_VALUE 6 ret_succeeded 8066156861009412096
PARAM_VALUE 6 *ret_succeeded 0
DATA_SOURCE 0 from $0
PARAM_COMPARE 0 from != $0->next
PARAM_COMPARE 0 from != $0->next
NOCHECK_CALL
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/mempolicy.c do_mbind() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 7859545714910785536
PARAM_VALUE 0 from->next 7859545714910785536
PARAM_VALUE 0 from->prev 7859545714910785536
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 3408872548563406848
PARAM_VALUE 4 mode 2
PARAM_VALUE 5 reason 4
PARAM_VALUE 6 ret_succeeded 0

mm/mempolicy.c migrate_to_node() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 3040787125855936512
PARAM_VALUE 0 from->next 3040787125855936512
PARAM_VALUE 0 from->prev 3040787125855936512
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 8576777550694457344
PARAM_VALUE 4 mode 2
PARAM_VALUE 5 reason 3
PARAM_VALUE 6 ret_succeeded 0

mm/migrate.c do_move_pages_to_node() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 3973685241485504512
PARAM_VALUE 0 from->next 3973685241485504512
PARAM_VALUE 0 from->prev 4096-ptr_max
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 903474201847201792
PARAM_VALUE 4 mode 2
PARAM_VALUE 5 reason 3
PARAM_VALUE 6 ret_succeeded 0
DATA_SOURCE 0 from $0

mm/migrate.c migrate_misplaced_folio() -> migrate_pages()

Type Parameter Key Value
PARAM_VALUE 0 from 7445813810228240384
PARAM_VALUE 0 from->next 4096-ptr_max
PARAM_VALUE 0 from->prev 7445813810228240384
PARAM_VALUE 2 put_new_folio 0
PARAM_VALUE 3 private 0-s32max,18446744071562067968-18446744073709551614
PARAM_VALUE 4 mode 0
PARAM_VALUE 5 reason 5
PARAM_VALUE 6 ret_succeeded 3331411129472122880
DATA_SOURCE 3 private $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock