From: Vlastimil Babka <vbabka@suse.cz>
To: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Rik van Riel <riel@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Mel Gorman <mgorman@suse.de>,
Johannes Weiner <hannes@cmpxchg.org>,
Minchan Kim <minchan@kernel.org>,
Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>,
Tang Chen <tangchen@cn.fujitsu.com>,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Wen Congyang <wency@cn.fujitsu.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Michal Nazarewicz <mina86@mina86.com>,
Laura Abbott <lauraa@codeaurora.org>,
Heesub Shin <heesub.shin@samsung.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
Ritesh Harjani <ritesh.list@gmail.com>,
t.stanislaws@samsung.com, Gioh Kim <gioh.kim@lge.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v3 1/4] mm/page_alloc: fix incorrect isolation behavior by rechecking migratetype
Date: Wed, 24 Sep 2014 15:30:26 +0200 [thread overview]
Message-ID: <5422C772.3080700@suse.cz> (raw)
In-Reply-To: <20140915023106.GD2676@js1304-P5Q-DELUXE>
On 09/15/2014 04:31 AM, Joonsoo Kim wrote:
> On Mon, Sep 08, 2014 at 10:31:29AM +0200, Vlastimil Babka wrote:
>> On 08/26/2014 10:08 AM, Joonsoo Kim wrote:
>>
>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>>> index f86023b..51e0d13 100644
>>> --- a/mm/page_alloc.c
>>> +++ b/mm/page_alloc.c
>>> @@ -740,9 +740,15 @@ static void free_one_page(struct zone *zone,
>>> if (nr_scanned)
>>> __mod_zone_page_state(zone, NR_PAGES_SCANNED, -nr_scanned);
>>>
>>> + if (unlikely(has_isolate_pageblock(zone))) {
>>> + migratetype = get_pfnblock_migratetype(page, pfn);
>>> + if (is_migrate_isolate(migratetype))
>>> + goto skip_counting;
>>> + }
>>> + __mod_zone_freepage_state(zone, 1 << order, migratetype);
>>> +
>>> +skip_counting:
>>
>> Here, wouldn't a simple 'else __mod_zone_freepage_state...' look
>> better than goto + label? (same for the following 2 patches). Or
>> does that generate worse code?
>
> To remove goto label, we need two __mod_zone_freepage_state() like
> as below. On my system, it doesn't generate worse code, but, I am not
> sure that this is true if more logic would be added. I think that
> goto + label is better.
Oh right, I missed that. It's a bit subtle, but I don't see a nicer
solution right now.
> + if (unlikely(has_isolate_pageblock(zone))) {
> + migratetype = get_pfnblock_migratetype(page, pfn);
> + if (!is_migrate_isolate(migratetype))
> + __mod_zone_freepage_state(zone, 1 << order, migratetype);
> + } else {
> + __mod_zone_freepage_state(zone, 1 << order, migratetype);
> }
>
Yeah that would be uglier I guess.
> Anyway, What do you think which one is better, either v2 or v3? Still, v3? :)
Yeah v3 is much better than v1 was, and better for backporting than v2.
The changelogs also look quite clear. The overhead shouldn't be bad with
the per-zone flag guarding get_pfnblock_migratetype.
I'm just not sure about patch 4 and potentially leaving unmerged budies
behind. How would it look if instead we made sure isolation works on
whole MAX_ORDER blocks instead?
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>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Rik van Riel <riel@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Mel Gorman <mgorman@suse.de>,
Johannes Weiner <hannes@cmpxchg.org>,
Minchan Kim <minchan@kernel.org>,
Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>,
Tang Chen <tangchen@cn.fujitsu.com>,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Wen Congyang <wency@cn.fujitsu.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Michal Nazarewicz <mina86@mina86.com>,
Laura Abbott <lauraa@codeaurora.org>,
Heesub Shin <heesub.shin@samsung.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
Ritesh Harjani <ritesh.list@gmail.com>,
t.stanislaws@samsung.com, Gioh Kim <gioh.kim@lge.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v3 1/4] mm/page_alloc: fix incorrect isolation behavior by rechecking migratetype
Date: Wed, 24 Sep 2014 15:30:26 +0200 [thread overview]
Message-ID: <5422C772.3080700@suse.cz> (raw)
In-Reply-To: <20140915023106.GD2676@js1304-P5Q-DELUXE>
On 09/15/2014 04:31 AM, Joonsoo Kim wrote:
> On Mon, Sep 08, 2014 at 10:31:29AM +0200, Vlastimil Babka wrote:
>> On 08/26/2014 10:08 AM, Joonsoo Kim wrote:
>>
>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>>> index f86023b..51e0d13 100644
>>> --- a/mm/page_alloc.c
>>> +++ b/mm/page_alloc.c
>>> @@ -740,9 +740,15 @@ static void free_one_page(struct zone *zone,
>>> if (nr_scanned)
>>> __mod_zone_page_state(zone, NR_PAGES_SCANNED, -nr_scanned);
>>>
>>> + if (unlikely(has_isolate_pageblock(zone))) {
>>> + migratetype = get_pfnblock_migratetype(page, pfn);
>>> + if (is_migrate_isolate(migratetype))
>>> + goto skip_counting;
>>> + }
>>> + __mod_zone_freepage_state(zone, 1 << order, migratetype);
>>> +
>>> +skip_counting:
>>
>> Here, wouldn't a simple 'else __mod_zone_freepage_state...' look
>> better than goto + label? (same for the following 2 patches). Or
>> does that generate worse code?
>
> To remove goto label, we need two __mod_zone_freepage_state() like
> as below. On my system, it doesn't generate worse code, but, I am not
> sure that this is true if more logic would be added. I think that
> goto + label is better.
Oh right, I missed that. It's a bit subtle, but I don't see a nicer
solution right now.
> + if (unlikely(has_isolate_pageblock(zone))) {
> + migratetype = get_pfnblock_migratetype(page, pfn);
> + if (!is_migrate_isolate(migratetype))
> + __mod_zone_freepage_state(zone, 1 << order, migratetype);
> + } else {
> + __mod_zone_freepage_state(zone, 1 << order, migratetype);
> }
>
Yeah that would be uglier I guess.
> Anyway, What do you think which one is better, either v2 or v3? Still, v3? :)
Yeah v3 is much better than v1 was, and better for backporting than v2.
The changelogs also look quite clear. The overhead shouldn't be bad with
the per-zone flag guarding get_pfnblock_migratetype.
I'm just not sure about patch 4 and potentially leaving unmerged budies
behind. How would it look if instead we made sure isolation works on
whole MAX_ORDER blocks instead?
Vlastimil
> Thanks.
>
next prev parent reply other threads:[~2014-09-24 13:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-26 8:08 [RFC PATCH v3 0/4] fix freepage count problems in memory isolation Joonsoo Kim
2014-08-26 8:08 ` Joonsoo Kim
2014-08-26 8:08 ` [RFC PATCH v3 1/4] mm/page_alloc: fix incorrect isolation behavior by rechecking migratetype Joonsoo Kim
2014-08-26 8:08 ` Joonsoo Kim
2014-08-29 17:46 ` Naoya Horiguchi
2014-08-29 17:46 ` Naoya Horiguchi
2014-09-01 0:14 ` Joonsoo Kim
2014-09-01 0:14 ` Joonsoo Kim
2014-09-08 8:31 ` Vlastimil Babka
2014-09-08 8:31 ` Vlastimil Babka
2014-09-15 2:31 ` Joonsoo Kim
2014-09-15 2:31 ` Joonsoo Kim
2014-09-24 13:30 ` Vlastimil Babka [this message]
2014-09-24 13:30 ` Vlastimil Babka
2014-09-25 6:13 ` Joonsoo Kim
2014-09-25 6:13 ` Joonsoo Kim
2014-08-26 8:08 ` [RFC PATCH v3 2/4] mm/page_alloc: add freepage on isolate pageblock to correct buddy list Joonsoo Kim
2014-08-26 8:08 ` Joonsoo Kim
2014-08-26 8:08 ` [RFC PATCH v3 3/4] mm/page_alloc: move migratetype recheck logic to __free_one_page() Joonsoo Kim
2014-08-26 8:08 ` Joonsoo Kim
2014-08-26 8:08 ` [RFC PATCH v3 4/4] mm/page_alloc: restrict max order of merging on isolated pageblock Joonsoo Kim
2014-08-26 8:08 ` Joonsoo Kim
2014-08-29 16:52 ` Naoya Horiguchi
2014-08-29 16:52 ` Naoya Horiguchi
2014-09-01 0:15 ` Joonsoo Kim
2014-09-01 0:15 ` Joonsoo Kim
2014-09-15 5:09 ` [RFC PATCH v3 0/4] fix freepage count problems in memory isolation Minchan Kim
2014-09-15 5:09 ` Minchan Kim
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=5422C772.3080700@suse.cz \
--to=vbabka@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=b.zolnierkie@samsung.com \
--cc=gioh.kim@lge.com \
--cc=hannes@cmpxchg.org \
--cc=heesub.shin@samsung.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=lauraa@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=m.szyprowski@samsung.com \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=ritesh.list@gmail.com \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=t.stanislaws@samsung.com \
--cc=tangchen@cn.fujitsu.com \
--cc=wency@cn.fujitsu.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.