Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 12 files:
- kernel/sys_ni.c, line 193
- mm/compaction.c, line 2698
- mm/damon/ops-common.c, line 326
- mm/gup.c, line 2361
- mm/memory-failure.c, line 2918
- mm/memory_hotplug.c, line 1920
- mm/mempolicy.c
- mm/migrate.c
- mm/page_alloc.c, line 7174
- mm/vmscan.c, line 1032
- tools/testing/selftests/kvm/include/numaif.h, line 23
- tools/testing/selftests/kvm/x86/xapic_ipi_test.c, line 294
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 |