From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933826AbZLGL1G (ORCPT ); Mon, 7 Dec 2009 06:27:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933744AbZLGL1G (ORCPT ); Mon, 7 Dec 2009 06:27:06 -0500 Received: from f0.cmpxchg.org ([85.214.51.133]:34571 "EHLO cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933737AbZLGL1F (ORCPT ); Mon, 7 Dec 2009 06:27:05 -0500 Date: Mon, 7 Dec 2009 12:27:05 +0100 From: Johannes Weiner To: KOSAKI Motohiro Cc: LKML , linux-mm , Rik van Riel , Andrea Arcangeli , Larry Woodman Subject: Re: [PATCH 1/7] Replace page_mapping_inuse() with page_mapped() Message-ID: <20091207112705.GA5772@cmpxchg.org> References: <20091204173233.5891.A69D9226@jp.fujitsu.com> <20091204174016.5894.A69D9226@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091204174016.5894.A69D9226@jp.fujitsu.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 04, 2009 at 05:41:35PM +0900, KOSAKI Motohiro wrote: > From c0cd3ee2bb13567a36728600a86f43abac3125b5 Mon Sep 17 00:00:00 2001 > From: KOSAKI Motohiro > Date: Wed, 2 Dec 2009 12:05:26 +0900 > Subject: [PATCH 1/7] Replace page_mapping_inuse() with page_mapped() > > page reclaim logic need to distingish mapped and unmapped pages. > However page_mapping_inuse() don't provide proper test way. it test > the address space (i.e. file) is mmpad(). Why `page' reclaim need > care unrelated page's mapped state? it's unrelated. > > Thus, This patch replace page_mapping_inuse() with page_mapped() > > Signed-off-by: KOSAKI Motohiro > Reviewed-by: Rik van Riel Reviewed-by: Johannes Weiner > --- > mm/vmscan.c | 25 ++----------------------- > 1 files changed, 2 insertions(+), 23 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index da6cf42..4ba08da 100644 > --- a/mm/vmscan.c > +++ b/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) > { > /* > @@ -649,7 +628,7 @@ static unsigned long shrink_page_list(struct list_head *page_list, > * try_to_unmap moves it to unevictable list > */ > if (sc->order <= PAGE_ALLOC_COSTLY_ORDER && > - referenced && page_mapping_inuse(page) > + referenced && page_mapped(page) > && !(vm_flags & VM_LOCKED)) > goto activate_locked; > > @@ -1356,7 +1335,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++; > /* > -- > 1.6.5.2 > > > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: email@kvack.org