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