函数逻辑报告 |
Source Code:mm\migrate.c |
Create Date:2022-07-27 17:33:33 |
Last Modify:2022-05-20 09:53:13 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Resolves the given address to a struct page, isolates it from the LRU and* puts it to the given pagelist
函数原型:static int add_page_for_migration(struct mm_struct *mm, unsigned long addr, int node, struct list_head *pagelist, bool migrate_all)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct mm_struct * | mm | |
unsigned long | addr | |
int | node | |
struct list_head * | pagelist | |
bool | migrate_all |
1529 | lock for reading |
1532 | 如果非vma或addr小于Our start address within vm_mm. 或非Check if a vma is migratable 则转到:out |
1537 | page等于follow_page(vma, addr, follflags) |
1547 | err等于0 |
1548 | 如果page_to_nid(page)恒等于node则转到:out_putpage |
1552 | 如果page_mapcount(page)大于1且非migrate_all则转到:out_putpage |
1560 | 否则 |
1563 | head等于compound_head(page) |
1565 | 如果err则转到:out_putpage |
1568 | err等于1 |
1569 | 添加链表项 |
1574 | out_putpage : |
1581 | out : |
1582 | lease a read lock |
1583 | 返回:err |
名称 | 描述 |
---|---|
do_pages_move | Migrate an array of page address onto an array of nodes and fill* the corresponding array of status. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |