函数逻辑报告 |
Source Code:mm\migrate.c |
Create Date:2022-07-27 17:33:20 |
Last Modify:2022-05-20 09:53:13 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Counterpart of unmap_and_move_page() for hugepage migration
函数原型: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)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
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 | 如果非hugepage_migration_supported(page_hstate(hpage))则 |
1294 | putback_active_hugepage(hpage) |
1295 | 返回:负ENOSYS |
1298 | new_hpage等于get_new_page(hpage, private) |
1320 | 如果page_private(hpage)且非page_mapping(hpage)则 |
1322 | 转到:out_unlock |
1334 | page_was_mapped等于1 |
1340 | 如果page_was_mapped则Get rid of all migration entries and replace them by* references to the indicated page. |
1346 | put_anon : |
1347 | 如果anon_vma则put_anon_vma(anon_vma) |
1351 | move_hugetlb_state(hpage, new_hpage, reason) |
1352 | put_new_page = NULL |
1355 | out_unlock : |
1357 | out : |
1358 | 如果rc不等于负EAGAIN则putback_active_hugepage(hpage) |
1366 | 如果put_new_page则put_new_page(new_hpage, private) |
1368 | 否则putback_active_hugepage(new_hpage) |
1371 | 返回:rc |
名称 | 描述 |
---|---|
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 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |