Re: [RFC 5/8] compaction: remove active list counting

From: KOSAKI Motohiro
Date: Sun May 01 2011 - 09:19:53 EST


> On Thu, Apr 28, 2011 at 7:50 PM, Mel Gorman <mgorman@xxxxxxx> wrote:
> > On Wed, Apr 27, 2011 at 01:25:22AM +0900, Minchan Kim wrote:
> >> acct_isolated of compaction uses page_lru_base_type which returns only
> >> base type of LRU list so it never returns LRU_ACTIVE_ANON or LRU_ACTIVE_FILE.
> >> So it's pointless to add lru[LRU_ACTIVE_[ANON|FILE]] to get sum.
> >>
> >> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> >> Cc: Mel Gorman <mgorman@xxxxxxx>
> >> Cc: Rik van Riel <riel@xxxxxxxxxx>
> >> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
> >> Signed-off-by: Minchan Kim <minchan.kim@xxxxxxxxx>
> >
> > hmm, isolate_migratepages() is doing a linear scan of PFNs and is
> > calling __isolate_lru_page(..ISOLATE_BOTH..). Using page_lru_base_type
> > happens to work because we're only interested in the number of isolated
> > pages and your patch still covers that. Using page_lru might be more
> > accurate in terms of accountancy but does not seem necessary.
>
> True.
>
> >
> > Adding a comment explaining why we account for it as inactive and why
> > that's ok would be nice although I admit this is something I should have
> > done when acct_isolated() was introduced.
>
> When Kame pointed out comment, I wanted to avoid unnecessary comment
> so decided changing it with page_lru although it adds overhead a
> little bit. But Hannes, you and maybe Kame don't want it. I don't mind
> adding comment.
> Okay. fix it in next version.

Or

unsigned int count[2];

list_for_each_entry(page, &cc->migratepages, lru) {
count[page_is_file_cache(page)]++;
}

is also clear to me.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/