summaryrefslogtreecommitdiff
path: root/mm/memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/memory.c')
-rw-r--r--mm/memory.c36
1 files changed, 1 insertions, 35 deletions
diff --git a/mm/memory.c b/mm/memory.c
index 09e967a3c..8132787ae 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -122,28 +122,6 @@ unsigned long highest_memmap_pfn __read_mostly;
EXPORT_SYMBOL(zero_pfn);
-#ifdef CONFIG_UKSM
-unsigned long uksm_zero_pfn __read_mostly;
-EXPORT_SYMBOL_GPL(uksm_zero_pfn);
-struct page *empty_uksm_zero_page;
-
-static int __init setup_uksm_zero_page(void)
-{
- unsigned long addr;
- addr = __get_free_pages(GFP_KERNEL | __GFP_ZERO, 0);
- if (!addr)
- panic("Oh boy, that early out of memory?");
-
- empty_uksm_zero_page = virt_to_page((void *) addr);
- SetPageReserved(empty_uksm_zero_page);
-
- uksm_zero_pfn = page_to_pfn(empty_uksm_zero_page);
-
- return 0;
-}
-core_initcall(setup_uksm_zero_page);
-#endif
-
/*
* CONFIG_MMU architectures set up ZERO_PAGE in their paging_init()
*/
@@ -155,7 +133,6 @@ static int __init init_zero_pfn(void)
core_initcall(init_zero_pfn);
-
#if defined(SPLIT_RSS_COUNTING)
void sync_mm_rss(struct mm_struct *mm)
@@ -890,11 +867,6 @@ copy_one_pte(struct mm_struct *dst_mm, struct mm_struct *src_mm,
get_page(page);
page_dup_rmap(page, false);
rss[mm_counter(page)]++;
-
- /* Should return NULL in vm_normal_page() */
- uksm_bugon_zeropage(pte);
- } else {
- uksm_map_zero_page(pte);
}
out_set_pte:
@@ -1129,7 +1101,6 @@ again:
tlb->fullmm);
tlb_remove_tlb_entry(tlb, pte, addr);
if (unlikely(!page))
- uksm_unmap_zero_page(ptent);
continue;
if (!PageAnon(page)) {
@@ -1966,10 +1937,8 @@ static inline void cow_user_page(struct page *dst, struct page *src, unsigned lo
clear_page(kaddr);
kunmap_atomic(kaddr);
flush_dcache_page(dst);
- } else {
+ } else
copy_user_highpage(dst, src, va, vma);
- uksm_cow_page(vma, src);
- }
}
static gfp_t __get_fault_gfp_mask(struct vm_area_struct *vma)
@@ -2114,7 +2083,6 @@ static int wp_page_copy(struct mm_struct *mm, struct vm_area_struct *vma,
new_page = alloc_zeroed_user_highpage_movable(vma, address);
if (!new_page)
goto oom;
- uksm_cow_pte(vma, orig_pte);
} else {
new_page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, address);
if (!new_page)
@@ -2140,9 +2108,7 @@ static int wp_page_copy(struct mm_struct *mm, struct vm_area_struct *vma,
mm_counter_file(old_page));
inc_mm_counter_fast(mm, MM_ANONPAGES);
}
- uksm_bugon_zeropage(orig_pte);
} else {
- uksm_unmap_zero_page(orig_pte);
inc_mm_counter_fast(mm, MM_ANONPAGES);
}
flush_cache_page(vma, address, pte_pfn(orig_pte));