Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [RFC 5/8] compaction: remove active list counting | Date | Sun, 1 May 2011 22:19:45 +0900 (JST) |
| |
> On Thu, Apr 28, 2011 at 7:50 PM, Mel Gorman <mgorman@suse.de> 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@jp.fujitsu.com> > >> Cc: Mel Gorman <mgorman@suse.de> > >> Cc: Rik van Riel <riel@redhat.com> > >> Cc: Andrea Arcangeli <aarcange@redhat.com> > >> Signed-off-by: Minchan Kim <minchan.kim@gmail.com> > > > > 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.
| |