diff options
Diffstat (limited to 'mm/rmap.c')
-rw-r--r-- | mm/rmap.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -707,7 +707,6 @@ void page_add_file_rmap(struct page *page) | |||
707 | */ | 707 | */ |
708 | void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address) | 708 | void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long address) |
709 | { | 709 | { |
710 | BUG_ON(page_mapcount(page) == 0); | ||
711 | if (PageAnon(page)) | 710 | if (PageAnon(page)) |
712 | __page_check_anon_rmap(page, vma, address); | 711 | __page_check_anon_rmap(page, vma, address); |
713 | atomic_inc(&page->_mapcount); | 712 | atomic_inc(&page->_mapcount); |
@@ -717,11 +716,10 @@ void page_dup_rmap(struct page *page, struct vm_area_struct *vma, unsigned long | |||
717 | /** | 716 | /** |
718 | * page_remove_rmap - take down pte mapping from a page | 717 | * page_remove_rmap - take down pte mapping from a page |
719 | * @page: page to remove mapping from | 718 | * @page: page to remove mapping from |
720 | * @vma: the vm area in which the mapping is removed | ||
721 | * | 719 | * |
722 | * The caller needs to hold the pte lock. | 720 | * The caller needs to hold the pte lock. |
723 | */ | 721 | */ |
724 | void page_remove_rmap(struct page *page, struct vm_area_struct *vma) | 722 | void page_remove_rmap(struct page *page) |
725 | { | 723 | { |
726 | if (atomic_add_negative(-1, &page->_mapcount)) { | 724 | if (atomic_add_negative(-1, &page->_mapcount)) { |
727 | /* | 725 | /* |
@@ -837,7 +835,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma, | |||
837 | dec_mm_counter(mm, file_rss); | 835 | dec_mm_counter(mm, file_rss); |
838 | 836 | ||
839 | 837 | ||
840 | page_remove_rmap(page, vma); | 838 | page_remove_rmap(page); |
841 | page_cache_release(page); | 839 | page_cache_release(page); |
842 | 840 | ||
843 | out_unmap: | 841 | out_unmap: |
@@ -952,7 +950,7 @@ static int try_to_unmap_cluster(unsigned long cursor, unsigned int *mapcount, | |||
952 | if (pte_dirty(pteval)) | 950 | if (pte_dirty(pteval)) |
953 | set_page_dirty(page); | 951 | set_page_dirty(page); |
954 | 952 | ||
955 | page_remove_rmap(page, vma); | 953 | page_remove_rmap(page); |
956 | page_cache_release(page); | 954 | page_cache_release(page); |
957 | dec_mm_counter(mm, file_rss); | 955 | dec_mm_counter(mm, file_rss); |
958 | (*mapcount)--; | 956 | (*mapcount)--; |