| Function report | 
| Source Code: mm\ksm.c | Create Date:2022-07-28 15:40:47 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:ry_to_merge_one_page - take two pages and merge them into one*@vma: the vma that holds the pte pointing to page*@page: the PageAnon page that we want to replace with kpage*@kpage: the PageKsm page that we want to map instead of page,
Proto:static int try_to_merge_one_page(struct vm_area_struct *vma, struct page *page, struct page *kpage)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct vm_area_struct * | vma | |
| struct page * | page | |
| struct page * | kpage | 
| 1220 | If Not Return true if the page was successfully locked Then Go to out | 
| 1224 | If split_huge_page(page) Then Go to out_unlock | 
| 1234 | If write_protect_page(vma, page, & orig_pte) == 0 Then | 
| 1235 | If Not kpage Then | 
| 1241 | set_page_stable_node(page, NULL) | 
| 1247 | If Not PageDirty(page) Then SetPageDirty(page) | 
| 1249 | err = 0 | 
| 1254 | If Flags, see mm.h. & VM_LOCKED && kpage && Not err Then | 
| 1256 | If Not PageMlocked(kpage) Then | 
| 1264 | out_unlock : | 
| 1266 | out : | 
| 1267 | Return err | 
| Name | Describe | 
|---|---|
| try_to_merge_with_ksm_page | ry_to_merge_with_ksm_page - like try_to_merge_two_pages,* but no new kernel page is allocated: kpage must already be a ksm page.* This function returns 0 if the pages were merged, -EFAULT otherwise. | 
| cmp_and_merge_page | mp_and_merge_page - first see if page can be merged into the stable tree;* if not, compare checksum to previous and if it's the same, see if page can* be inserted into the unstable tree, or merged with a page already there and | 
| 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 |