函数逻辑报告 |
Source Code:mm\rmap.c |
Create Date:2022-07-27 16:26:03 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:page_add_file_rmap - add pte mapping to a file page*@page: the page to add the mapping to*@compound: charge the page as compound or small page* The caller needs to hold the pte lock.
函数原型:void page_add_file_rmap(struct page *page, bool compound)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | page | |
bool | compound |
1201 | nr等于1 |
1204 | lock_page_memcg(page) |
1206 | 以i小于HPAGE_PMD_NR循环 |
1210 | 如果非atomic_inc_and_test(compound_mapcount_ptr(page))则转到:out |
1214 | 否则__inc_node_page_state(page, NR_FILE_PMDMAPPED) |
1216 | 否则 |
1218 | VM_WARN_ON_ONCE(!PageLocked(page)) |
1220 | SetPageDoubleMap(compound_head(page)) |
1227 | __mod_lruvec_page_state(page, pagecache pages mapped into pagetables. only modified from process context , nr) |
1228 | out : |
1229 | unlock_page_memcg(page) |
名称 | 描述 |
---|---|
alloc_set_pte | alloc_set_pte - setup new PTE entry for given page and add reverse page* mapping |
remove_migration_pte | Restore a potential migration pte to a working pte entry |
insert_page | This is the old fallback for page remapping.* For historical reasons, it only allows reserved pages. Only* old drivers should use this, and they needed to mark their* pages reserved for the old functions anyway. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |