All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mel@csn.ul.ie>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andrea Arcangeli <aarcange@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Rik van Riel <riel@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/8] Use memory compaction instead of lumpy reclaim during high-order allocations
Date: Thu, 18 Nov 2010 09:20:44 +0000	[thread overview]
Message-ID: <20101118092044.GE8135@csn.ul.ie> (raw)
In-Reply-To: <20101118083828.GA24635@cmpxchg.org>

On Thu, Nov 18, 2010 at 09:38:28AM +0100, Johannes Weiner wrote:
> On Thu, Nov 18, 2010 at 05:26:27PM +0900, KAMEZAWA Hiroyuki wrote:
> > On Thu, 18 Nov 2010 08:12:54 +0000
> > Mel Gorman <mel@csn.ul.ie> wrote:
> > 
> > > > > I'm hoping that this series also removes the
> > > > > necessity for the "delete lumpy reclaim" patch from the THP tree.
> > > > 
> > > > Now I'm sad.  I read all that and was thinking "oh goody, we get to
> > > > delete something for once".  But no :(
> > > > 
> > > > If you can get this stuff to work nicely, why can't we remove lumpy
> > > > reclaim?
> > > 
> > > Ultimately we should be able to. Lumpy reclaim is still there for the
> > > !CONFIG_COMPACTION case and to have an option if we find that compaction
> > > behaves badly for some reason.
> > > 
> > 
> > Hmm. CONFIG_COMPACTION depends on CONFIG_MMU. lumpy reclaim will be for NOMMU,
> > finally ?
> 
> It's because migration depends on MMU.  But we should be able to make
> a NOMMU version of migration that just does page cache, which is all
> that is reclaimable on NOMMU anyway.
> 

Conceivably, but I see little problem leaving them with lumpy reclaim. As
page cache and anon pages are mixed together in MIGRATE_MOVABLE but only one
set of pages can be discarded, the success rates of either lumpy reclaim or
compaction is doubtful. It'd require a specific investigation.

> At this point, the MMU dependency can go away, and so can lumpy
> reclaim.
> 

The series never calls lumpy reclaim once CONFIG_COMPACTION is set. The code
could be shrunk with the below patch but the saving to vmlinux is minimal
(288 bytes for me on x86-64). My preference is still to have lumpy reclaim
available as a comparison point with compaction for a development cycle or two.

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 52a0f0c..7488983 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1048,7 +1048,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 			BUG();
 		}
 
-		if (!order)
+		if (!order || COMPACTION_BUILD)
 			continue;
 
 		/*

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel@csn.ul.ie>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andrea Arcangeli <aarcange@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Rik van Riel <riel@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/8] Use memory compaction instead of lumpy reclaim during high-order allocations
Date: Thu, 18 Nov 2010 09:20:44 +0000	[thread overview]
Message-ID: <20101118092044.GE8135@csn.ul.ie> (raw)
In-Reply-To: <20101118083828.GA24635@cmpxchg.org>

On Thu, Nov 18, 2010 at 09:38:28AM +0100, Johannes Weiner wrote:
> On Thu, Nov 18, 2010 at 05:26:27PM +0900, KAMEZAWA Hiroyuki wrote:
> > On Thu, 18 Nov 2010 08:12:54 +0000
> > Mel Gorman <mel@csn.ul.ie> wrote:
> > 
> > > > > I'm hoping that this series also removes the
> > > > > necessity for the "delete lumpy reclaim" patch from the THP tree.
> > > > 
> > > > Now I'm sad.  I read all that and was thinking "oh goody, we get to
> > > > delete something for once".  But no :(
> > > > 
> > > > If you can get this stuff to work nicely, why can't we remove lumpy
> > > > reclaim?
> > > 
> > > Ultimately we should be able to. Lumpy reclaim is still there for the
> > > !CONFIG_COMPACTION case and to have an option if we find that compaction
> > > behaves badly for some reason.
> > > 
> > 
> > Hmm. CONFIG_COMPACTION depends on CONFIG_MMU. lumpy reclaim will be for NOMMU,
> > finally ?
> 
> It's because migration depends on MMU.  But we should be able to make
> a NOMMU version of migration that just does page cache, which is all
> that is reclaimable on NOMMU anyway.
> 

Conceivably, but I see little problem leaving them with lumpy reclaim. As
page cache and anon pages are mixed together in MIGRATE_MOVABLE but only one
set of pages can be discarded, the success rates of either lumpy reclaim or
compaction is doubtful. It'd require a specific investigation.

> At this point, the MMU dependency can go away, and so can lumpy
> reclaim.
> 

The series never calls lumpy reclaim once CONFIG_COMPACTION is set. The code
could be shrunk with the below patch but the saving to vmlinux is minimal
(288 bytes for me on x86-64). My preference is still to have lumpy reclaim
available as a comparison point with compaction for a development cycle or two.

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 52a0f0c..7488983 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1048,7 +1048,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 			BUG();
 		}
 
-		if (!order)
+		if (!order || COMPACTION_BUILD)
 			continue;
 
 		/*

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

--
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 policy in Canada: sign http://dissolvethecrtc.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-11-18  9:21 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-17 16:22 [PATCH 0/8] Use memory compaction instead of lumpy reclaim during high-order allocations Mel Gorman
2010-11-17 16:22 ` Mel Gorman
2010-11-17 16:22 ` [PATCH 1/8] mm: compaction: Add trace events for memory compaction activity Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-17 16:22 ` [PATCH 2/8] mm: vmscan: Convert lumpy_mode into a bitmask Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-17 16:22 ` [PATCH 3/8] mm: vmscan: Reclaim order-0 and use compaction instead of lumpy reclaim Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-18 18:09   ` Andrea Arcangeli
2010-11-18 18:09     ` Andrea Arcangeli
2010-11-18 18:30     ` Mel Gorman
2010-11-18 18:30       ` Mel Gorman
2010-11-17 16:22 ` [PATCH 4/8] mm: migration: Allow migration to operate asynchronously and avoid synchronous compaction in the faster path Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-18 18:21   ` Andrea Arcangeli
2010-11-18 18:21     ` Andrea Arcangeli
2010-11-18 18:34     ` Mel Gorman
2010-11-18 18:34       ` Mel Gorman
2010-11-18 19:00       ` Andrea Arcangeli
2010-11-18 19:00         ` Andrea Arcangeli
2010-11-17 16:22 ` [PATCH 5/8] mm: migration: Cleanup migrate_pages API by matching types for offlining and sync Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-17 16:22 ` [PATCH 6/8] mm: compaction: Perform a faster scan in try_to_compact_pages() Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-18 18:34   ` Andrea Arcangeli
2010-11-18 18:34     ` Andrea Arcangeli
2010-11-18 18:50     ` Mel Gorman
2010-11-18 18:50       ` Mel Gorman
2010-11-18 19:08       ` Andrea Arcangeli
2010-11-18 19:08         ` Andrea Arcangeli
2010-11-19 11:16         ` Mel Gorman
2010-11-19 11:16           ` Mel Gorman
2010-11-17 16:22 ` [PATCH 7/8] mm: compaction: Use the LRU to get a hint on where compaction should start Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-18  9:10   ` KAMEZAWA Hiroyuki
2010-11-18  9:10     ` KAMEZAWA Hiroyuki
2010-11-18  9:28     ` Mel Gorman
2010-11-18  9:28       ` Mel Gorman
2010-11-18 18:46   ` Andrea Arcangeli
2010-11-18 18:46     ` Andrea Arcangeli
2010-11-19 11:08     ` Mel Gorman
2010-11-19 11:08       ` Mel Gorman
2010-11-17 16:22 ` [PATCH 8/8] mm: vmscan: Rename lumpy_mode to reclaim_mode Mel Gorman
2010-11-17 16:22   ` Mel Gorman
2010-11-17 23:46 ` [PATCH 0/8] Use memory compaction instead of lumpy reclaim during high-order allocations Andrew Morton
2010-11-17 23:46   ` Andrew Morton
2010-11-18  2:03   ` Rik van Riel
2010-11-18  2:03     ` Rik van Riel
2010-11-18  8:12   ` Mel Gorman
2010-11-18  8:12     ` Mel Gorman
2010-11-18  8:26     ` KAMEZAWA Hiroyuki
2010-11-18  8:26       ` KAMEZAWA Hiroyuki
2010-11-18  8:38       ` Johannes Weiner
2010-11-18  8:38         ` Johannes Weiner
2010-11-18  9:20         ` Mel Gorman [this message]
2010-11-18  9:20           ` Mel Gorman
2010-11-18 19:49           ` Andrew Morton
2010-11-18 19:49             ` Andrew Morton
2010-11-19 10:48             ` Mel Gorman
2010-11-19 10:48               ` Mel Gorman
2010-11-19 12:43               ` Theodore Tso
2010-11-19 12:43                 ` Theodore Tso
2010-11-19 14:05                 ` Mel Gorman
2010-11-19 14:05                   ` Mel Gorman
2010-11-19 15:45                   ` Ted Ts'o
2010-11-19 15:45                     ` Ted Ts'o
2010-11-18  8:44       ` Mel Gorman
2010-11-18  8:44         ` Mel Gorman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101118092044.GE8135@csn.ul.ie \
    --to=mel@csn.ul.ie \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=riel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.