Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread Hugh Dickins
On Mon, 3 Feb 2014, David Rientjes wrote: > On Tue, 4 Feb 2014, Joonsoo Kim wrote: > > > > > Okay. It can't fix your situation. Anyway, *normal* anon pages may be > > > > mapped > > > > and have positive page_count(), so your code such as > > > > '!page_mapping(page) && page_count(page)' makes

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread David Rientjes
On Tue, 4 Feb 2014, Joonsoo Kim wrote: > > > Okay. It can't fix your situation. Anyway, *normal* anon pages may be > > > mapped > > > and have positive page_count(), so your code such as > > > '!page_mapping(page) && page_count(page)' makes compaction skip these > > > *normal* > > > anon pages

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread Joonsoo Kim
On Mon, Feb 03, 2014 at 06:00:56PM -0800, David Rientjes wrote: > On Tue, 4 Feb 2014, Joonsoo Kim wrote: > > > Okay. It can't fix your situation. Anyway, *normal* anon pages may be mapped > > and have positive page_count(), so your code such as > > '!page_mapping(page) && page_count(page)' makes

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread David Rientjes
On Tue, 4 Feb 2014, Joonsoo Kim wrote: > Okay. It can't fix your situation. Anyway, *normal* anon pages may be mapped > and have positive page_count(), so your code such as > '!page_mapping(page) && page_count(page)' makes compaction skip these *normal* > anon pages and this is incorrect

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread Joonsoo Kim
On Mon, Feb 03, 2014 at 05:20:46PM -0800, David Rientjes wrote: > On Tue, 4 Feb 2014, Joonsoo Kim wrote: > > > I think that you need more code to skip this type of page correctly. > > Without page_mapped() check, this code makes migratable pages be skipped, > > since if page_mapped() case,

[patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread David Rientjes
On Tue, 4 Feb 2014, Joonsoo Kim wrote: > I think that you need more code to skip this type of page correctly. > Without page_mapped() check, this code makes migratable pages be skipped, > since if page_mapped() case, page_count() may be more than zero. > > So I think that you need following

[patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread David Rientjes
On Tue, 4 Feb 2014, Joonsoo Kim wrote: I think that you need more code to skip this type of page correctly. Without page_mapped() check, this code makes migratable pages be skipped, since if page_mapped() case, page_count() may be more than zero. So I think that you need following change.

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread Joonsoo Kim
On Mon, Feb 03, 2014 at 05:20:46PM -0800, David Rientjes wrote: On Tue, 4 Feb 2014, Joonsoo Kim wrote: I think that you need more code to skip this type of page correctly. Without page_mapped() check, this code makes migratable pages be skipped, since if page_mapped() case, page_count()

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread David Rientjes
On Tue, 4 Feb 2014, Joonsoo Kim wrote: Okay. It can't fix your situation. Anyway, *normal* anon pages may be mapped and have positive page_count(), so your code such as '!page_mapping(page) page_count(page)' makes compaction skip these *normal* anon pages and this is incorrect behaviour.

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread Joonsoo Kim
On Mon, Feb 03, 2014 at 06:00:56PM -0800, David Rientjes wrote: On Tue, 4 Feb 2014, Joonsoo Kim wrote: Okay. It can't fix your situation. Anyway, *normal* anon pages may be mapped and have positive page_count(), so your code such as '!page_mapping(page) page_count(page)' makes compaction

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread David Rientjes
On Tue, 4 Feb 2014, Joonsoo Kim wrote: Okay. It can't fix your situation. Anyway, *normal* anon pages may be mapped and have positive page_count(), so your code such as '!page_mapping(page) page_count(page)' makes compaction skip these *normal* anon pages and this is

Re: [patch] mm, compaction: avoid isolating pinned pages fix

2014-02-03 Thread Hugh Dickins
On Mon, 3 Feb 2014, David Rientjes wrote: On Tue, 4 Feb 2014, Joonsoo Kim wrote: Okay. It can't fix your situation. Anyway, *normal* anon pages may be mapped and have positive page_count(), so your code such as '!page_mapping(page) page_count(page)' makes compaction skip these