diff --git a/include/linux/swap.h b/include/linux/swap.h index b407d3963649..136a929648ef 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -344,14 +344,8 @@ extern void deactivate_page(struct page *page); extern void mark_page_lazyfree(struct page *page); extern void swap_setup(void); -extern void __lru_cache_add_active_or_unevictable(struct page *page, - unsigned long vma_flags); - -static inline void lru_cache_add_active_or_unevictable(struct page *page, - struct vm_area_struct *vma) -{ - return __lru_cache_add_active_or_unevictable(page, vma->vm_flags); -} +extern void lru_cache_add_active_or_unevictable(struct page *page, + struct vm_area_struct *vma); /* linux/mm/vmscan.c */ extern unsigned long zone_reclaimable_pages(struct zone *zone); diff --git a/mm/memory.c b/mm/memory.c index 682a98cd158b..daf44ceb4409 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2582,7 +2582,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) ptep_clear_flush_notify(vma, vmf->address, vmf->pte); page_add_new_anon_rmap(new_page, vma, vmf->address, false); mem_cgroup_commit_charge(new_page, memcg, false, false); - __lru_cache_add_active_or_unevictable(new_page, vmf->vma_flags); + lru_cache_add_active_or_unevictable(new_page, vma); /* * We call the notify macro here because, when using secondary * mmu page tables (such as kvm shadow page tables), we want the @@ -3141,7 +3141,7 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) if (unlikely(page != swapcache && swapcache)) { page_add_new_anon_rmap(page, vma, vmf->address, false); mem_cgroup_commit_charge(page, memcg, false, false); - __lru_cache_add_active_or_unevictable(page, vmf->vma_flags); + lru_cache_add_active_or_unevictable(page, vma); } else { do_page_add_anon_rmap(page, vma, vmf->address, exclusive); mem_cgroup_commit_charge(page, memcg, true, false); @@ -3292,7 +3292,7 @@ static vm_fault_t do_anonymous_page(struct vm_fault *vmf) inc_mm_counter_fast(vma->vm_mm, MM_ANONPAGES); page_add_new_anon_rmap(page, vma, vmf->address, false); mem_cgroup_commit_charge(page, memcg, false, false); - __lru_cache_add_active_or_unevictable(page, vmf->vma_flags); + lru_cache_add_active_or_unevictable(page, vma); setpte: set_pte_at(vma->vm_mm, vmf->address, vmf->pte, entry); @@ -3571,7 +3571,7 @@ vm_fault_t alloc_set_pte(struct vm_fault *vmf, struct mem_cgroup *memcg, inc_mm_counter_fast(vma->vm_mm, MM_ANONPAGES); page_add_new_anon_rmap(page, vma, vmf->address, false); mem_cgroup_commit_charge(page, memcg, false, false); - __lru_cache_add_active_or_unevictable(page, vmf->vma_flags); + lru_cache_add_active_or_unevictable(page, vma); } else { inc_mm_counter_fast(vma->vm_mm, mm_counter_file(page)); page_add_file_rmap(page, false); diff --git a/mm/swap.c b/mm/swap.c index 159174565497..1c5021b57e2c 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -452,12 +452,12 @@ void lru_cache_add(struct page *page) * directly back onto it's zone's unevictable list, it does NOT use a * per cpu pagevec. */ -void __lru_cache_add_active_or_unevictable(struct page *page, - unsigned long vma_flags) +void lru_cache_add_active_or_unevictable(struct page *page, + struct vm_area_struct *vma) { VM_BUG_ON_PAGE(PageLRU(page), page); - if (likely((vma_flags & (VM_LOCKED | VM_SPECIAL)) != VM_LOCKED)) + if (likely((vma->vm_flags & (VM_LOCKED | VM_SPECIAL)) != VM_LOCKED)) SetPageActive(page); else if (!TestSetPageMlocked(page)) { /*