Function report |
Source Code:mm\migrate.c |
Create Date:2022-07-28 15:59:13 |
Last Modify:2022-05-20 09:53:13 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Counterpart of unmap_and_move_page() for hugepage migration
Proto:static int unmap_and_move_huge_page(new_page_t get_new_page, free_page_t put_new_page, unsigned long private, struct page *hpage, int force, enum migrate_mode mode, int reason)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
new_page_t | get_new_page | |
free_page_t | put_new_page | |
unsigned long | private | |
struct page * | hpage | |
int | force | |
enum migrate_mode | mode | |
int | reason |
1282 | page_was_mapped = 0 |
1293 | If Not hugepage_migration_supported(page_hstate(hpage)) Then |
1294 | putback_active_hugepage(hpage) |
1295 | Return -ENOSYS |
1298 | new_hpage = get_new_page(hpage, private) |
1302 | If Not Return true if the page was successfully locked Then |
1306 | Case mode == MIGRATE_SYNC |
1307 | Case mode == MIGRATE_SYNC_NO_COPY |
1308 | Break |
1309 | Default |
1310 | Go to out |
1320 | If page_private(hpage) && Not page_mapping(hpage) Then |
1322 | Go to out_unlock |
1328 | If Value for the false possibility is greater at compile time(!Return true if the page was successfully locked) Then Go to put_anon |
1334 | page_was_mapped = 1 |
1340 | If page_was_mapped Then Get rid of all migration entries and replace them by* references to the indicated page. |
1346 | put_anon : |
1347 | If anon_vma Then put_anon_vma(anon_vma) |
1351 | move_hugetlb_state(hpage, new_hpage, reason) |
1352 | put_new_page = NULL |
1355 | out_unlock : |
1357 | out : |
1358 | If rc != -EAGAIN Then putback_active_hugepage(hpage) |
1366 | If put_new_page Then put_new_page(new_hpage, private) |
1368 | Else putback_active_hugepage(new_hpage) |
1371 | Return rc |
Name | Describe |
---|---|
migrate_pages | migrate_pages - migrate the pages specified in a list, to the free pages* supplied as the target for the page migration*@from: The list of pages to be migrated.*@get_new_page: The function used to allocate free pages to be used |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |