Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756541Ab2ENPwd (ORCPT ); Mon, 14 May 2012 11:52:33 -0400 Received: from cantor2.suse.de ([195.135.220.15]:42272 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751834Ab2ENPwb (ORCPT ); Mon, 14 May 2012 11:52:31 -0400 Date: Mon, 14 May 2012 17:52:30 +0200 From: Michal Hocko To: Hugh Dickins Cc: Andrew Morton , Konstantin Khlebnikov , KAMEZAWA Hiroyuki , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/3] mm: trivial cleanups in vmscan.c Message-ID: <20120514155230.GC22629@tiehlicka.suse.cz> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4138 Lines: 121 On Sun 13-05-12 22:01:15, Hugh Dickins wrote: > Utter trivia in mm/vmscan.c, mostly just reducing the linecount slightly; > most exciting change being get_scan_count() calling vmscan_swappiness() > once instead of twice. > > Signed-off-by: Hugh Dickins Looks good. Reviewed-by: Michal Hocko > --- > mm/vmscan.c | 31 ++++++++++--------------------- > 1 file changed, 10 insertions(+), 21 deletions(-) > > --- 3046N.orig/mm/vmscan.c 2012-05-13 20:41:24.334117380 -0700 > +++ 3046N/mm/vmscan.c 2012-05-13 20:41:51.566118170 -0700 > @@ -1025,12 +1025,9 @@ static unsigned long isolate_lru_pages(u > unsigned long *nr_scanned, struct scan_control *sc, > isolate_mode_t mode, enum lru_list lru) > { > - struct list_head *src; > + struct list_head *src = &lruvec->lists[lru]; > unsigned long nr_taken = 0; > unsigned long scan; > - int file = is_file_lru(lru); > - > - src = &lruvec->lists[lru]; > > for (scan = 0; scan < nr_to_scan && !list_empty(src); scan++) { > struct page *page; > @@ -1058,11 +1055,8 @@ static unsigned long isolate_lru_pages(u > } > > *nr_scanned = scan; > - > - trace_mm_vmscan_lru_isolate(sc->order, > - nr_to_scan, scan, > - nr_taken, > - mode, file); > + trace_mm_vmscan_lru_isolate(sc->order, nr_to_scan, scan, > + nr_taken, mode, is_file_lru(lru)); > return nr_taken; > } > > @@ -1140,8 +1134,7 @@ static int too_many_isolated(struct zone > } > > static noinline_for_stack void > -putback_inactive_pages(struct lruvec *lruvec, > - struct list_head *page_list) > +putback_inactive_pages(struct lruvec *lruvec, struct list_head *page_list) > { > struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; > struct zone *zone = lruvec_zone(lruvec); > @@ -1235,11 +1228,9 @@ shrink_inactive_list(unsigned long nr_to > if (global_reclaim(sc)) { > zone->pages_scanned += nr_scanned; > if (current_is_kswapd()) > - __count_zone_vm_events(PGSCAN_KSWAPD, zone, > - nr_scanned); > + __count_zone_vm_events(PGSCAN_KSWAPD, zone, nr_scanned); > else > - __count_zone_vm_events(PGSCAN_DIRECT, zone, > - nr_scanned); > + __count_zone_vm_events(PGSCAN_DIRECT, zone, nr_scanned); > } > spin_unlock_irq(&zone->lru_lock); > > @@ -1534,9 +1525,9 @@ static int inactive_file_is_low(struct l > return inactive_file_is_low_global(lruvec_zone(lruvec)); > } > > -static int inactive_list_is_low(struct lruvec *lruvec, int file) > +static int inactive_list_is_low(struct lruvec *lruvec, enum lru_list lru) > { > - if (file) > + if (is_file_lru(lru)) > return inactive_file_is_low(lruvec); > else > return inactive_anon_is_low(lruvec); > @@ -1545,10 +1536,8 @@ static int inactive_list_is_low(struct l > static unsigned long shrink_list(enum lru_list lru, unsigned long nr_to_scan, > struct lruvec *lruvec, struct scan_control *sc) > { > - int file = is_file_lru(lru); > - > if (is_active_lru(lru)) { > - if (inactive_list_is_low(lruvec, file)) > + if (inactive_list_is_low(lruvec, lru)) > shrink_active_list(nr_to_scan, lruvec, sc, lru); > return 0; > } > @@ -1630,7 +1619,7 @@ static void get_scan_count(struct lruvec > * This scanning priority is essentially the inverse of IO cost. > */ > anon_prio = vmscan_swappiness(sc); > - file_prio = 200 - vmscan_swappiness(sc); > + file_prio = 200 - anon_prio; > > /* > * OK, so we have swap space and a fair amount of page cache > > -- > 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/ . > Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ > Don't email: email@kvack.org -- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/