diff options
-rw-r--r-- | include/linux/rmap.h | 6 | ||||
-rw-r--r-- | mm/memory.c | 2 | ||||
-rw-r--r-- | mm/rmap.c | 21 |
3 files changed, 2 insertions, 27 deletions
diff --git a/include/linux/rmap.h b/include/linux/rmap.h index bf116d0dbf23..477841d29fce 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h | |||
@@ -71,14 +71,10 @@ void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, unsigned lon | |||
71 | void page_add_file_rmap(struct page *); | 71 | void page_add_file_rmap(struct page *); |
72 | void page_remove_rmap(struct page *); | 72 | void page_remove_rmap(struct page *); |
73 | 73 | ||
74 | #ifdef CONFIG_DEBUG_VM | 74 | static inline void page_dup_rmap(struct page *page) |
75 | void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address); | ||
76 | #else | ||
77 | static inline void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address) | ||
78 | { | 75 | { |
79 | atomic_inc(&page->_mapcount); | 76 | atomic_inc(&page->_mapcount); |
80 | } | 77 | } |
81 | #endif | ||
82 | 78 | ||
83 | /* | 79 | /* |
84 | * Called from mm/vmscan.c to handle paging out | 80 | * Called from mm/vmscan.c to handle paging out |
diff --git a/mm/memory.c b/mm/memory.c index 368561f32009..7a61a11f1867 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -597,7 +597,7 @@ copy_one_pte(struct mm_struct *dst_mm, struct mm_struct *src_mm, | |||
597 | page = vm_normal_page(vma, addr, pte); | 597 | page = vm_normal_page(vma, addr, pte); |
598 | if (page) { | 598 | if (page) { |
599 | get_page(page); | 599 | get_page(page); |
600 | page_dup_rmap(page, vma, addr); | 600 | page_dup_rmap(page); |
601 | rss[!!PageAnon(page)]++; | 601 | rss[!!PageAnon(page)]++; |
602 | } | 602 | } |
603 | 603 | ||
@@ -710,27 +710,6 @@ void page_add_file_rmap(struct page *page) | |||
710 | } | 710 | } |
711 | } | 711 | } |
712 | 712 | ||
713 | #ifdef CONFIG_DEBUG_VM | ||
714 | /** | ||
715 | * page_dup_rmap - duplicate pte mapping to a page | ||
716 | * @page: the page to add the mapping to | ||
717 | * @vma: the vm area being duplicated | ||
718 | * @address: the user virtual address mapped | ||
719 | * | ||
720 | * For copy_page_range only: minimal extract from page_add_file_rmap / | ||
721 | * page_add_anon_rmap, avoiding unnecessary tests (already checked) so it's | ||
722 | * quicker. | ||
723 | * | ||
724 | * The caller needs to hold the pte lock. | ||
725 | */ | ||
726 | void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address) | ||
727 | { | ||
728 | if (PageAnon(page)) | ||
729 | __page_check_anon_rmap(page, vma, address); | ||
730 | atomic_inc(&page->_mapcount); | ||
731 | } | ||
732 | #endif | ||
733 | |||
734 | /** | 713 | /** |
735 | * page_remove_rmap - take down pte mapping from a page | 714 | * page_remove_rmap - take down pte mapping from a page |
736 | * @page: page to remove mapping from | 715 | * @page: page to remove mapping from |