| Function report | 
| Source Code: mm\rmap.c | Create Date:2022-07-28 14:56:38 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name: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.
Proto:void page_add_file_rmap(struct page *page, bool compound)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct page * | page | |
| bool | compound | 
| 1201 | nr = 1 | 
| 1204 | lock_page_memcg(page) | 
| 1206 | When i < HPAGE_PMD_NR cycle | 
| 1210 | If Not atomic_inc_and_test(compound_mapcount_ptr(page)) Then Go to out | 
| 1212 | If PageSwapBacked(page) Then __inc_node_page_state(page, NR_SHMEM_PMDMAPPED) | 
| 1214 | Else __inc_node_page_state(page, NR_FILE_PMDMAPPED) | 
| 1216 | Else | 
| 1218 | VM_WARN_ON_ONCE(!PageLocked(page)) | 
| 1220 | SetPageDoubleMap(compound_head(page)) | 
| 1221 | If PageMlocked(page) Then LRU accounting for clear_page_mlock() | 
| 1227 | __mod_lruvec_page_state(page, pagecache pages mapped into pagetables. only modified from process context , nr) | 
| 1228 | out : | 
| 1229 | unlock_page_memcg(page) | 
| Name | Describe | 
|---|---|
| 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. | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |