From 18bbb59bc0fa61caa2f558dd236c038eadd02cc8 Mon Sep 17 00:00:00 2001 From: Johannes Weiner Date: Fri, 5 Mar 2010 13:42:21 -0800 Subject: [PATCH] --- yaml --- r: 186219 b: refs/heads/master c: 31c0569c3b0b6cc8a867ac6665ca081553f7984c h: refs/heads/master i: 186217: f60705dd7c1ad29b1da70f99a29619153d90260d 186215: 070807dac0eca8e1c0d4b433429833c06025644a v: v3 --- [refs] | 2 +- trunk/mm/vmscan.c | 25 ++----------------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/[refs] b/[refs] index 35e4320907ea..6ee232d8e445 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dfc8d636cdb95f7b792d5ba8c9f3b295809c125d +refs/heads/master: 31c0569c3b0b6cc8a867ac6665ca081553f7984c diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index ba4e87df3fc6..d9a0e0d3aac7 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/mm/vmscan.c @@ -262,27 +262,6 @@ unsigned long shrink_slab(unsigned long scanned, gfp_t gfp_mask, return ret; } -/* Called without lock on whether page is mapped, so answer is unstable */ -static inline int page_mapping_inuse(struct page *page) -{ - struct address_space *mapping; - - /* Page is in somebody's page tables. */ - if (page_mapped(page)) - return 1; - - /* Be more reluctant to reclaim swapcache than pagecache */ - if (PageSwapCache(page)) - return 1; - - mapping = page_mapping(page); - if (!mapping) - return 0; - - /* File is mmap'd by somebody? */ - return mapping_mapped(mapping); -} - static inline int is_page_cache_freeable(struct page *page) { /* @@ -606,7 +585,7 @@ static enum page_references page_check_references(struct page *page, if (vm_flags & VM_LOCKED) return PAGEREF_RECLAIM; - if (page_mapping_inuse(page)) + if (page_mapped(page)) return PAGEREF_ACTIVATE; /* Reclaim if clean, defer dirty pages to writeback */ @@ -1381,7 +1360,7 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone, } /* page_referenced clears PageReferenced */ - if (page_mapping_inuse(page) && + if (page_mapped(page) && page_referenced(page, 0, sc->mem_cgroup, &vm_flags)) { nr_rotated++; /*