函数逻辑报告 |
Source Code:mm\rmap.c |
Create Date:2022-07-27 16:25:58 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Special version of the above for do_swap_page, which often runs* into pages that are exclusively owned by the current process.* Everybody else should continue to use page_add_anon_rmap above.
函数原型:void do_page_add_anon_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address, int flags)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | page | |
struct vm_area_struct * | vma | |
unsigned long | address | |
int | flags |
1121 | compound等于flags按位与RMAP_COMPOUND |
1124 | 如果compound则 |
1126 | VM_BUG_ON_PAGE(!PageLocked(page), page) |
1128 | mapcount等于compound_mapcount_ptr(page) |
1129 | first等于atomic_inc_and_test(mapcount) |
1130 | 否则 |
1134 | 如果first则 |
1135 | nr等于如果compound则hpage_nr_pages(page)否则1 |
1142 | 如果compound则__inc_node_page_state(page, NR_ANON_THPS) |
1149 | VM_BUG_ON_PAGE(!PageLocked(page), page) |
名称 | 描述 |
---|---|
page_add_anon_rmap | page_add_anon_rmap - add pte mapping to an anonymous page*@page: the page to add the mapping to*@vma: the vm area in which the mapping is added*@address: the user virtual address mapped*@compound: charge the page as compound or small page* The caller |
do_swap_page | We enter with non-exclusive mmap_sem (to exclude vma changes,* but allow concurrent faults), and pte mapped but not yet locked.* We return with pte unmapped and unlocked.* We return with the mmap_sem locked or unlocked in the same cases |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |