Lines Matching defs:kpage
1116 * @page: the page we are replacing by kpage
1117 * @kpage: the ksm page we replace page by
1123 struct page *kpage, pte_t orig_pte)
1156 if (!is_zero_pfn(page_to_pfn(kpage))) {
1157 get_page(kpage);
1158 page_add_anon_rmap(kpage, vma, addr, false);
1159 newpte = mk_pte(kpage, vma->vm_page_prot);
1161 newpte = pte_mkspecial(pfn_pte(page_to_pfn(kpage),
1198 * @page: the PageAnon page that we want to replace with kpage
1199 * @kpage: the PageKsm page that we want to map instead of page,
1200 * or NULL the first time when we want to use page as kpage.
1205 struct page *page, struct page *kpage)
1210 if (page == kpage) /* ksm page forked */
1216 if(!xpm_integrity_check_one_page_merge(page, kpage))
1241 if (!kpage) {
1256 } else if (pages_identical(page, kpage))
1257 err = replace_page(vma, page, kpage, orig_pte);
1260 if ((vma->vm_flags & VM_LOCKED) && kpage && !err) {
1262 if (!PageMlocked(kpage)) {
1264 lock_page(kpage);
1265 mlock_vma_page(kpage);
1266 page = kpage; /* for final unlock */
1278 * but no new kernel page is allocated: kpage must already be a ksm page.
1283 struct page *page, struct page *kpage)
1294 err = try_to_merge_one_page(vma, page, kpage);
1313 * This function returns the kpage if we successfully merged two identical
1679 * than kpage, but that involves more changes.
1809 static struct stable_node *stable_tree_insert(struct page *kpage)
1819 kpfn = page_to_pfn(kpage);
1872 ret = memcmp_pages(kpage, tree_page);
1892 set_page_stable_node(kpage, stable_node_dup);
2047 struct page *kpage;
2073 kpage = stable_tree_search(page);
2074 if (kpage == page && rmap_item->head == stable_node) {
2075 put_page(kpage);
2081 if (kpage) {
2082 if (PTR_ERR(kpage) == -EBUSY)
2085 err = try_to_merge_with_ksm_page(rmap_item, page, kpage);
2091 lock_page(kpage);
2092 stable_tree_append(rmap_item, page_stable_node(kpage),
2094 unlock_page(kpage);
2096 put_page(kpage);
2144 kpage = try_to_merge_two_pages(rmap_item, page,
2159 if (kpage) {
2164 lock_page(kpage);
2165 stable_node = stable_tree_insert(kpage);
2172 unlock_page(kpage);