Function report | 
Source Code:include\linux\page-flags.h | 
Create Date:2022-07-28 05:37:06 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:A KSM page is one of those write-protected "shared pages" or "merged pages"* which KSM maps into multiple mms, wherever identical anonymous page content* is found in VM_MERGEABLE vmas. It's a PageAnon page, pointing not to any
Proto:static __always_inline int PageKsm(struct page *page)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct page * | page | 
| 482 | page = compound_head(page) | 
| 483 | Return ( See page-flags.h for PAGE_MAPPING_FLAGS & PAGE_MAPPING_FLAGS) == PAGE_MAPPING_KSM | 
| Name | Describe | 
|---|---|
| __dump_page | |
| do_wp_page | This routine handles present pages, when users try to write* to a shared page. It is done by copying the page to a new address* and decrementing the shared-page counter for the old page.* Note that this routine assumes that the protection checks have been | 
| change_pte_range | |
| page_referenced | page_referenced - test if the page was referenced*@page: the page to test*@is_locked: caller holds lock on the page*@memcg: target memory cgroup*@vm_flags: collect encountered vma->vm_flags who actually referenced the page* Quick test_and_clear_referenced | 
| do_page_add_anon_rmap | 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. | 
| try_to_unmap | ry_to_unmap - try to remove all page table mappings to a page*@page: the page to get unmapped*@flags: action and flags* Tries to remove all the page table entries which are mapping this* page, used in the pageout path. Caller must hold the page lock. | 
| rmap_walk | |
| rmap_walk_locked | Like rmap_walk, but caller holds relevant rmap lock | 
| reuse_swap_page | We can write to an anon page without COW if there are no other references* to it. And as a side-effect, free up its swap: because the old content* on disk will never be read, and seeking back there to write new content | 
| break_ksm | We use break_ksm to break COW on a ksm page: it's a stripped down* if (get_user_pages(addr, 1, 1, 1, &page, NULL) == 1)* put_page(page);* but taking great care only to touch a ksm page, in a VM_MERGEABLE vma, | 
| page_stable_node | |
| ksm_might_need_to_copy | |
| rmap_walk_ksm | |
| remove_migration_pte | Restore a potential migration pte to a working pte entry | 
| __unmap_and_move | |
| hwpoison_user_mappings | Do all that is necessary to remove user space mappings. Unmap* the pages and send SIGBUS to the processes if the data was dirty. | 
| page_idle_clear_pte_refs | 
| 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  |