From: Vlastimil Babka <vbabka@suse.cz>
To: Joonsoo Kim <js1304@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
David Rientjes <rientjes@google.com>,
Rik van Riel <riel@redhat.com>,
Linux Memory Management List <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>
Subject: Re: [RFC PATCH v3 3/3] mm/compaction: enhance compaction finish condition
Date: Mon, 02 Feb 2015 15:07:17 +0100 [thread overview]
Message-ID: <54CF8495.8010602@suse.cz> (raw)
In-Reply-To: <CAAmzW4P2MoRzo_CA5i9X0ARrLrzzSD8SQXTsvX+6JJ2q_P1Tng@mail.gmail.com>
On 02/02/2015 02:23 PM, Joonsoo Kim wrote:
> 2015-02-02 19:20 GMT+09:00 Vlastimil Babka <vbabka@suse.cz>:
>> On 02/02/2015 08:15 AM, Joonsoo Kim wrote:
>>
>> So I've realized that this problaby won't always work as intended :/ Because we
>> still differ from what page allocator does.
>> Consider we compact for UNMOVABLE allocation. First we try RECLAIMABLE fallback.
>> Turns out we could fallback, but not steal, hence we skip it due to
>> only_stealable == true. So we try MOVABLE, and turns out we can steal, so we
>> finish compaction.
>> Then the allocation attempt follows, and it will fallback to RECLAIMABLE,
>> without extra stealing. The compaction decision for MOVABLE was moot.
>> Is it a big problem? Probably not, the compaction will still perform some extra
>> anti-fragmentation on average, but we should consider it.
>
> Hello,
>
> First of all, thanks for quick review. :)
>
> Hmm... I don't get it. Is this case possible in current implementation?
> can_steal_fallback() decides whether steal is possible or not, based
> on freepage order
> and start_migratetype. If fallback freepage is on RECLAIMABLE and
> MOVABLE type and
> they are same order, can_steal could be true for both or false for
> neither. If order is
> different, compaction decision would be recognized by
> __rmqueue_fallback() since it
> try to find freepage from high order to low order.
Ah, right, I got confused into thinking that the result of can_steal depends on
how many freepages it found within the pageblock to steal. Sorry about the noise.
--
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 <js1304@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
David Rientjes <rientjes@google.com>,
Rik van Riel <riel@redhat.com>,
Linux Memory Management List <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>
Subject: Re: [RFC PATCH v3 3/3] mm/compaction: enhance compaction finish condition
Date: Mon, 02 Feb 2015 15:07:17 +0100 [thread overview]
Message-ID: <54CF8495.8010602@suse.cz> (raw)
In-Reply-To: <CAAmzW4P2MoRzo_CA5i9X0ARrLrzzSD8SQXTsvX+6JJ2q_P1Tng@mail.gmail.com>
On 02/02/2015 02:23 PM, Joonsoo Kim wrote:
> 2015-02-02 19:20 GMT+09:00 Vlastimil Babka <vbabka@suse.cz>:
>> On 02/02/2015 08:15 AM, Joonsoo Kim wrote:
>>
>> So I've realized that this problaby won't always work as intended :/ Because we
>> still differ from what page allocator does.
>> Consider we compact for UNMOVABLE allocation. First we try RECLAIMABLE fallback.
>> Turns out we could fallback, but not steal, hence we skip it due to
>> only_stealable == true. So we try MOVABLE, and turns out we can steal, so we
>> finish compaction.
>> Then the allocation attempt follows, and it will fallback to RECLAIMABLE,
>> without extra stealing. The compaction decision for MOVABLE was moot.
>> Is it a big problem? Probably not, the compaction will still perform some extra
>> anti-fragmentation on average, but we should consider it.
>
> Hello,
>
> First of all, thanks for quick review. :)
>
> Hmm... I don't get it. Is this case possible in current implementation?
> can_steal_fallback() decides whether steal is possible or not, based
> on freepage order
> and start_migratetype. If fallback freepage is on RECLAIMABLE and
> MOVABLE type and
> they are same order, can_steal could be true for both or false for
> neither. If order is
> different, compaction decision would be recognized by
> __rmqueue_fallback() since it
> try to find freepage from high order to low order.
Ah, right, I got confused into thinking that the result of can_steal depends on
how many freepages it found within the pageblock to steal. Sorry about the noise.
next prev parent reply other threads:[~2015-02-02 14:07 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-02 7:15 [RFC PATCH v3 1/3] mm/cma: change fallback behaviour for CMA freepage Joonsoo Kim
2015-02-02 7:15 ` Joonsoo Kim
2015-02-02 7:15 ` [RFC PATCH v3 2/3] mm/page_alloc: factor out fallback freepage checking Joonsoo Kim
2015-02-02 7:15 ` Joonsoo Kim
2015-02-02 9:59 ` Vlastimil Babka
2015-02-02 9:59 ` Vlastimil Babka
2015-02-02 13:26 ` Joonsoo Kim
2015-02-02 13:26 ` Joonsoo Kim
2015-02-02 12:56 ` Zhang Yanfei
2015-02-02 12:56 ` Zhang Yanfei
2015-02-02 13:29 ` Joonsoo Kim
2015-02-02 13:29 ` Joonsoo Kim
2015-02-02 7:15 ` [RFC PATCH v3 3/3] mm/compaction: enhance compaction finish condition Joonsoo Kim
2015-02-02 7:15 ` Joonsoo Kim
2015-02-02 10:20 ` Vlastimil Babka
2015-02-02 10:20 ` Vlastimil Babka
2015-02-02 13:23 ` Joonsoo Kim
2015-02-02 13:23 ` Joonsoo Kim
2015-02-02 14:07 ` Vlastimil Babka [this message]
2015-02-02 14:07 ` Vlastimil Babka
2015-02-02 13:51 ` Zhang Yanfei
2015-02-02 13:51 ` Zhang Yanfei
2015-02-02 14:19 ` Vlastimil Babka
2015-02-02 14:19 ` Vlastimil Babka
2015-02-03 6:55 ` Joonsoo Kim
2015-02-03 6:55 ` Joonsoo Kim
2015-02-02 7:29 ` [RFC PATCH v3 1/3] mm/cma: change fallback behaviour for CMA freepage Joonsoo Kim
2015-02-02 7:29 ` Joonsoo Kim
2015-02-02 8:27 ` Vlastimil Babka
2015-02-02 8:27 ` Vlastimil Babka
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=54CF8495.8010602@suse.cz \
--to=vbabka@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=js1304@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=zhangyanfei@cn.fujitsu.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.