All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric B Munson <emunson@akamai.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Thomas Gleixner <tglx@linutronix.de>,
	Christoph Lameter <cl@linux.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Mel Gorman <mgorman@suse.de>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V2] Allow compaction of unevictable pages
Date: Mon, 09 Mar 2015 16:39:44 -0400	[thread overview]
Message-ID: <54FE0510.5020209@akamai.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1503091254380.26686@chino.kir.corp.google.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/09/2015 03:57 PM, David Rientjes wrote:
> On Mon, 9 Mar 2015, Eric B Munson wrote:
> 
>> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h 
>> index f279d9c..599fb01 100644 --- a/include/linux/mmzone.h +++
>> b/include/linux/mmzone.h @@ -232,8 +232,6 @@ struct lruvec { 
>> #define ISOLATE_UNMAPPED	((__force isolate_mode_t)0x2) /* Isolate
>> for asynchronous migration */ #define ISOLATE_ASYNC_MIGRATE
>> ((__force isolate_mode_t)0x4) -/* Isolate unevictable pages */ 
>> -#define ISOLATE_UNEVICTABLE	((__force isolate_mode_t)0x8)
>> 
>> /* LRU Isolation modes. */ typedef unsigned __bitwise__
>> isolate_mode_t; diff --git a/mm/compaction.c b/mm/compaction.c 
>> index 8c0d945..4a8ea87 100644 --- a/mm/compaction.c +++
>> b/mm/compaction.c @@ -872,8 +872,7 @@
>> isolate_migratepages_range(struct compact_control *cc, unsigned
>> long start_pfn, if (!pageblock_pfn_to_page(pfn, block_end_pfn,
>> cc->zone)) continue;
>> 
>> -		pfn = isolate_migratepages_block(cc, pfn, block_end_pfn, -
>> ISOLATE_UNEVICTABLE); +		pfn = isolate_migratepages_block(cc,
>> pfn, block_end_pfn, 0);
>> 
>> /* * In case of fatal failure, release everything that might diff
>> --git a/mm/vmscan.c b/mm/vmscan.c index 5e8eadd..3b2a444 100644 
>> --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1234,10 +1234,6 @@ int
>> __isolate_lru_page(struct page *page, isolate_mode_t mode) if
>> (!PageLRU(page)) return ret;
>> 
>> -	/* Compaction should not handle unevictable pages but CMA can
>> do so */ -	if (PageUnevictable(page) && !(mode &
>> ISOLATE_UNEVICTABLE)) -		return ret; - ret = -EBUSY;
>> 
>> /*
> 
> Looks better!
> 
> I think there's one more cleanup we can do now thanks to your
> patch: dropping the isolate_mode_t formal from
> isolate_migratepages_block() entirely since that function can now
> just do
> 
> const isolate_mode_t isolate_mode = (cc->mode == MIGRATE_ASYNC ?
> ISOLATE_ASYNC_MIGRATE : 0);
> 
> since we already pass in the struct compact_control and
> isolate_mode only depends on MIGRATE_ASYNC or not.
> 
> If you'd like to fold that change into this patch because it's
> logically allowed by it, feel free to add my enthusiastic
> 
> Acked-by: David Rientjes <rientjes@google.com>
> 
> Otherwise, I'll just send a change on top of it if you don't have
> time.

I'll V3 out shortly with that change.

Thanks for the review.

Eric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJU/gUNAAoJELbVsDOpoOa9088P/1/HpbuC/CqmFq4FLTdPpXrt
AfDzzGL2e55dVE18Iqmcw6/LUJNb6gr49KmvlnPpMXVmUGTUhtgCySJqQTWtTcHq
NiXC6TuKYsknD7eYIeaR2M9zTN5Cq9swP01d8nIXCilfNNnK31QzlGrxVS5Vk8+X
OzlBUbdcfsOPaRItqadae0cQ19eNTtq33v9msRAwiovuyIL5LkNN1savq1sJVz7B
W9LFwhmUOrKYtxf8AlrSQ0Kg/X5YOskpaTQoPif0BoRkvNsAtE9sWDlzg4a24pn5
HGrlWcjJLsw4ZhEwfUnX1w5m2C2NhEbwKJ08eqyPF5kNavdzDqx+TsZ79ZYYMEVL
bYJcRZ0+Oef/u5ICpJrvlS2FdDqweAKuvT1bUcXoUZQfxxHi5gujp+4vfBZk3ct0
mnpbEcUAq5btck99p9PcAE6C3+T+NKjX+R7mVkOwbhFRpzrV1YMqreb7bcGutzhB
00QhNciI5izfJZIdasq783T7XFyd7oO1gl0MNf/lI1v0dklSr92j4WF7d6rbGX4h
Nnnbt4If1qP/F0n/NjRprHJg1muUZW2J8GBCq11cWnWXkl4y7S208MbyIewf1iVy
yl+ko2nFTbyDMYG46wsCoxqxmuWtUap+oanvF4NXbQ47wQO8hI8vjN9ph1MACxJP
l1pRsS0/XBUIBhnVYQMG
=suBI
-----END PGP SIGNATURE-----

--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Eric B Munson <emunson@akamai.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Thomas Gleixner <tglx@linutronix.de>,
	Christoph Lameter <cl@linux.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Mel Gorman <mgorman@suse.de>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V2] Allow compaction of unevictable pages
Date: Mon, 09 Mar 2015 16:39:44 -0400	[thread overview]
Message-ID: <54FE0510.5020209@akamai.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1503091254380.26686@chino.kir.corp.google.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/09/2015 03:57 PM, David Rientjes wrote:
> On Mon, 9 Mar 2015, Eric B Munson wrote:
> 
>> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h 
>> index f279d9c..599fb01 100644 --- a/include/linux/mmzone.h +++
>> b/include/linux/mmzone.h @@ -232,8 +232,6 @@ struct lruvec { 
>> #define ISOLATE_UNMAPPED	((__force isolate_mode_t)0x2) /* Isolate
>> for asynchronous migration */ #define ISOLATE_ASYNC_MIGRATE
>> ((__force isolate_mode_t)0x4) -/* Isolate unevictable pages */ 
>> -#define ISOLATE_UNEVICTABLE	((__force isolate_mode_t)0x8)
>> 
>> /* LRU Isolation modes. */ typedef unsigned __bitwise__
>> isolate_mode_t; diff --git a/mm/compaction.c b/mm/compaction.c 
>> index 8c0d945..4a8ea87 100644 --- a/mm/compaction.c +++
>> b/mm/compaction.c @@ -872,8 +872,7 @@
>> isolate_migratepages_range(struct compact_control *cc, unsigned
>> long start_pfn, if (!pageblock_pfn_to_page(pfn, block_end_pfn,
>> cc->zone)) continue;
>> 
>> -		pfn = isolate_migratepages_block(cc, pfn, block_end_pfn, -
>> ISOLATE_UNEVICTABLE); +		pfn = isolate_migratepages_block(cc,
>> pfn, block_end_pfn, 0);
>> 
>> /* * In case of fatal failure, release everything that might diff
>> --git a/mm/vmscan.c b/mm/vmscan.c index 5e8eadd..3b2a444 100644 
>> --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1234,10 +1234,6 @@ int
>> __isolate_lru_page(struct page *page, isolate_mode_t mode) if
>> (!PageLRU(page)) return ret;
>> 
>> -	/* Compaction should not handle unevictable pages but CMA can
>> do so */ -	if (PageUnevictable(page) && !(mode &
>> ISOLATE_UNEVICTABLE)) -		return ret; - ret = -EBUSY;
>> 
>> /*
> 
> Looks better!
> 
> I think there's one more cleanup we can do now thanks to your
> patch: dropping the isolate_mode_t formal from
> isolate_migratepages_block() entirely since that function can now
> just do
> 
> const isolate_mode_t isolate_mode = (cc->mode == MIGRATE_ASYNC ?
> ISOLATE_ASYNC_MIGRATE : 0);
> 
> since we already pass in the struct compact_control and
> isolate_mode only depends on MIGRATE_ASYNC or not.
> 
> If you'd like to fold that change into this patch because it's
> logically allowed by it, feel free to add my enthusiastic
> 
> Acked-by: David Rientjes <rientjes@google.com>
> 
> Otherwise, I'll just send a change on top of it if you don't have
> time.

I'll V3 out shortly with that change.

Thanks for the review.

Eric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJU/gUNAAoJELbVsDOpoOa9088P/1/HpbuC/CqmFq4FLTdPpXrt
AfDzzGL2e55dVE18Iqmcw6/LUJNb6gr49KmvlnPpMXVmUGTUhtgCySJqQTWtTcHq
NiXC6TuKYsknD7eYIeaR2M9zTN5Cq9swP01d8nIXCilfNNnK31QzlGrxVS5Vk8+X
OzlBUbdcfsOPaRItqadae0cQ19eNTtq33v9msRAwiovuyIL5LkNN1savq1sJVz7B
W9LFwhmUOrKYtxf8AlrSQ0Kg/X5YOskpaTQoPif0BoRkvNsAtE9sWDlzg4a24pn5
HGrlWcjJLsw4ZhEwfUnX1w5m2C2NhEbwKJ08eqyPF5kNavdzDqx+TsZ79ZYYMEVL
bYJcRZ0+Oef/u5ICpJrvlS2FdDqweAKuvT1bUcXoUZQfxxHi5gujp+4vfBZk3ct0
mnpbEcUAq5btck99p9PcAE6C3+T+NKjX+R7mVkOwbhFRpzrV1YMqreb7bcGutzhB
00QhNciI5izfJZIdasq783T7XFyd7oO1gl0MNf/lI1v0dklSr92j4WF7d6rbGX4h
Nnnbt4If1qP/F0n/NjRprHJg1muUZW2J8GBCq11cWnWXkl4y7S208MbyIewf1iVy
yl+ko2nFTbyDMYG46wsCoxqxmuWtUap+oanvF4NXbQ47wQO8hI8vjN9ph1MACxJP
l1pRsS0/XBUIBhnVYQMG
=suBI
-----END PGP SIGNATURE-----

  reply	other threads:[~2015-03-09 20:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-09 17:12 [PATCH V2] Allow compaction of unevictable pages Eric B Munson
2015-03-09 17:12 ` Eric B Munson
2015-03-09 19:57 ` David Rientjes
2015-03-09 19:57   ` David Rientjes
2015-03-09 20:39   ` Eric B Munson [this message]
2015-03-09 20:39     ` Eric B Munson

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=54FE0510.5020209@akamai.com \
    --to=emunson@akamai.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=peterz@infradead.org \
    --cc=rientjes@google.com \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    /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.