From: Vlastimil Babka <vbabka@suse.cz>
To: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Michal Hocko <mhocko@suse.com>, Hugh Dickins <hughd@google.com>,
Rik van Riel <riel@redhat.com>
Subject: Re: [PATCH mmotm 3/3] mm, compaction: prevent nr_isolated_* from going negative
Date: Tue, 26 Apr 2016 21:40:45 +0200 [thread overview]
Message-ID: <571FC43D.6010102@suse.cz> (raw)
In-Reply-To: <20160426005503.GC2707@js1304-P5Q-DELUXE>
On 04/26/2016 02:55 AM, Joonsoo Kim wrote:
> On Mon, Apr 25, 2016 at 03:35:50PM +0200, Vlastimil Babka wrote:
>> @@ -846,9 +845,11 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
>> spin_unlock_irqrestore(&zone->lru_lock, flags);
>> locked = false;
>> }
>> - putback_movable_pages(migratelist);
>> - nr_isolated = 0;
>> + acct_isolated(zone, cc);
>> + putback_movable_pages(&cc->migratepages);
>> + cc->nr_migratepages = 0;
>> cc->last_migrated_pfn = 0;
>> + nr_isolated = 0;
>
> Is it better to use separate list and merge it cc->migratepages when
> finishing instead of using cc->migratepages directly? If
> isolate_migratepages() try to isolate more than one page block and keep
> isolated page on previous pageblock, this putback all will invalidate
> all the previous work. It would be beyond of the scope of this
> function. Now, isolate_migratepages() try to isolate the page in one
> pageblock so this code is safe. But, I think that removing such
> dependency will be helpful in the future. I'm not strongly insisting it
> so if you think it's not useful thing, please ignore this comment.
migratelist was merely a reference to cc->migratepages, so it wouldn't prevent
the situation you are suggesting. A truly separate list would need to be
appended to cc->migratepages when leaving isolate_migratepages_block() and
there's no need to do that right now.
BTW, can you check patch 1/3? Thanks!
Vlastimil
> Thanks.
>
--
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: Vlastimil Babka <vbabka@suse.cz>
To: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Michal Hocko <mhocko@suse.com>, Hugh Dickins <hughd@google.com>,
Rik van Riel <riel@redhat.com>
Subject: Re: [PATCH mmotm 3/3] mm, compaction: prevent nr_isolated_* from going negative
Date: Tue, 26 Apr 2016 21:40:45 +0200 [thread overview]
Message-ID: <571FC43D.6010102@suse.cz> (raw)
In-Reply-To: <20160426005503.GC2707@js1304-P5Q-DELUXE>
On 04/26/2016 02:55 AM, Joonsoo Kim wrote:
> On Mon, Apr 25, 2016 at 03:35:50PM +0200, Vlastimil Babka wrote:
>> @@ -846,9 +845,11 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
>> spin_unlock_irqrestore(&zone->lru_lock, flags);
>> locked = false;
>> }
>> - putback_movable_pages(migratelist);
>> - nr_isolated = 0;
>> + acct_isolated(zone, cc);
>> + putback_movable_pages(&cc->migratepages);
>> + cc->nr_migratepages = 0;
>> cc->last_migrated_pfn = 0;
>> + nr_isolated = 0;
>
> Is it better to use separate list and merge it cc->migratepages when
> finishing instead of using cc->migratepages directly? If
> isolate_migratepages() try to isolate more than one page block and keep
> isolated page on previous pageblock, this putback all will invalidate
> all the previous work. It would be beyond of the scope of this
> function. Now, isolate_migratepages() try to isolate the page in one
> pageblock so this code is safe. But, I think that removing such
> dependency will be helpful in the future. I'm not strongly insisting it
> so if you think it's not useful thing, please ignore this comment.
migratelist was merely a reference to cc->migratepages, so it wouldn't prevent
the situation you are suggesting. A truly separate list would need to be
appended to cc->migratepages when leaving isolate_migratepages_block() and
there's no need to do that right now.
BTW, can you check patch 1/3? Thanks!
Vlastimil
> Thanks.
>
next prev parent reply other threads:[~2016-04-26 19:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-25 13:34 [PATCH 0/3] mainline and mmotm compaction fixes Vlastimil Babka
2016-04-25 13:34 ` Vlastimil Babka
2016-04-25 13:35 ` Vlastimil Babka
2016-04-25 13:35 ` Vlastimil Babka
2016-04-25 13:35 ` [PATCH 4.6 1/3] mm, cma: prevent nr_isolated_* counters from going negative Vlastimil Babka
2016-04-25 13:35 ` Vlastimil Babka
2016-04-27 0:57 ` Joonsoo Kim
2016-04-27 0:57 ` Joonsoo Kim
2016-04-25 13:35 ` [PATCH mmotm 2/3] mm, compaction: fix crash in get_pfnblock_flags_mask() from isolate_freepages(): Vlastimil Babka
2016-04-25 13:35 ` Vlastimil Babka
2016-04-25 13:35 ` [PATCH mmotm 3/3] mm, compaction: prevent nr_isolated_* from going negative Vlastimil Babka
2016-04-25 13:35 ` Vlastimil Babka
2016-04-26 0:55 ` Joonsoo Kim
2016-04-26 0:55 ` Joonsoo Kim
2016-04-26 19:40 ` Vlastimil Babka [this message]
2016-04-26 19:40 ` Vlastimil Babka
2016-04-27 0:59 ` Joonsoo Kim
2016-04-27 0:59 ` Joonsoo Kim
2016-04-25 14:34 ` [PATCH 0/3] mainline and mmotm compaction fixes Michal Hocko
2016-04-25 14:34 ` Michal Hocko
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=571FC43D.6010102@suse.cz \
--to=vbabka@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=hughd@google.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--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.