diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/rmap.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -578,7 +578,7 @@ void page_remove_rmap(struct page *page) | |||
578 | * repeatedly from either try_to_unmap_anon or try_to_unmap_file. | 578 | * repeatedly from either try_to_unmap_anon or try_to_unmap_file. |
579 | */ | 579 | */ |
580 | static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma, | 580 | static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma, |
581 | int ignore_refs) | 581 | int migration) |
582 | { | 582 | { |
583 | struct mm_struct *mm = vma->vm_mm; | 583 | struct mm_struct *mm = vma->vm_mm; |
584 | unsigned long address; | 584 | unsigned long address; |
@@ -602,7 +602,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma, | |||
602 | */ | 602 | */ |
603 | if ((vma->vm_flags & VM_LOCKED) || | 603 | if ((vma->vm_flags & VM_LOCKED) || |
604 | (ptep_clear_flush_young(vma, address, pte) | 604 | (ptep_clear_flush_young(vma, address, pte) |
605 | && !ignore_refs)) { | 605 | && !migration)) { |
606 | ret = SWAP_FAIL; | 606 | ret = SWAP_FAIL; |
607 | goto out_unmap; | 607 | goto out_unmap; |
608 | } | 608 | } |
@@ -736,7 +736,7 @@ static void try_to_unmap_cluster(unsigned long cursor, | |||
736 | pte_unmap_unlock(pte - 1, ptl); | 736 | pte_unmap_unlock(pte - 1, ptl); |
737 | } | 737 | } |
738 | 738 | ||
739 | static int try_to_unmap_anon(struct page *page, int ignore_refs) | 739 | static int try_to_unmap_anon(struct page *page, int migration) |
740 | { | 740 | { |
741 | struct anon_vma *anon_vma; | 741 | struct anon_vma *anon_vma; |
742 | struct vm_area_struct *vma; | 742 | struct vm_area_struct *vma; |
@@ -747,7 +747,7 @@ static int try_to_unmap_anon(struct page *page, int ignore_refs) | |||
747 | return ret; | 747 | return ret; |
748 | 748 | ||
749 | list_for_each_entry(vma, &anon_vma->head, anon_vma_node) { | 749 | list_for_each_entry(vma, &anon_vma->head, anon_vma_node) { |
750 | ret = try_to_unmap_one(page, vma, ignore_refs); | 750 | ret = try_to_unmap_one(page, vma, migration); |
751 | if (ret == SWAP_FAIL || !page_mapped(page)) | 751 | if (ret == SWAP_FAIL || !page_mapped(page)) |
752 | break; | 752 | break; |
753 | } | 753 | } |
@@ -764,7 +764,7 @@ static int try_to_unmap_anon(struct page *page, int ignore_refs) | |||
764 | * | 764 | * |
765 | * This function is only called from try_to_unmap for object-based pages. | 765 | * This function is only called from try_to_unmap for object-based pages. |
766 | */ | 766 | */ |
767 | static int try_to_unmap_file(struct page *page, int ignore_refs) | 767 | static int try_to_unmap_file(struct page *page, int migration) |
768 | { | 768 | { |
769 | struct address_space *mapping = page->mapping; | 769 | struct address_space *mapping = page->mapping; |
770 | pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); | 770 | pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); |
@@ -778,7 +778,7 @@ static int try_to_unmap_file(struct page *page, int ignore_refs) | |||
778 | 778 | ||
779 | spin_lock(&mapping->i_mmap_lock); | 779 | spin_lock(&mapping->i_mmap_lock); |
780 | vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) { | 780 | vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) { |
781 | ret = try_to_unmap_one(page, vma, ignore_refs); | 781 | ret = try_to_unmap_one(page, vma, migration); |
782 | if (ret == SWAP_FAIL || !page_mapped(page)) | 782 | if (ret == SWAP_FAIL || !page_mapped(page)) |
783 | goto out; | 783 | goto out; |
784 | } | 784 | } |
@@ -863,16 +863,16 @@ out: | |||
863 | * SWAP_AGAIN - we missed a mapping, try again later | 863 | * SWAP_AGAIN - we missed a mapping, try again later |
864 | * SWAP_FAIL - the page is unswappable | 864 | * SWAP_FAIL - the page is unswappable |
865 | */ | 865 | */ |
866 | int try_to_unmap(struct page *page, int ignore_refs) | 866 | int try_to_unmap(struct page *page, int migration) |
867 | { | 867 | { |
868 | int ret; | 868 | int ret; |
869 | 869 | ||
870 | BUG_ON(!PageLocked(page)); | 870 | BUG_ON(!PageLocked(page)); |
871 | 871 | ||
872 | if (PageAnon(page)) | 872 | if (PageAnon(page)) |
873 | ret = try_to_unmap_anon(page, ignore_refs); | 873 | ret = try_to_unmap_anon(page, migration); |
874 | else | 874 | else |
875 | ret = try_to_unmap_file(page, ignore_refs); | 875 | ret = try_to_unmap_file(page, migration); |
876 | 876 | ||
877 | if (!page_mapped(page)) | 877 | if (!page_mapped(page)) |
878 | ret = SWAP_SUCCESS; | 878 | ret = SWAP_SUCCESS; |