| 函数逻辑报告 | 
| 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 插件可实现:逻辑报告 代码生成和批量转换代码 |