All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miaohe Lin <linmiaohe@huawei.com>
To: David Hildenbrand <david@redhat.com>, <akpm@linux-foundation.org>
Cc: <vbabka@suse.cz>, <iamjoonsoo.kim@lge.com>, <linux-mm@kvack.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm/page_isolation: don't putback unisolated page
Date: Mon, 6 Sep 2021 19:32:30 +0800	[thread overview]
Message-ID: <b533742e-e82a-a721-9a24-4087688dd812@huawei.com> (raw)
In-Reply-To: <e060283a-6295-9191-9b92-a3c183e9de02@redhat.com>

On 2021/9/6 17:40, David Hildenbrand wrote:
> On 04.09.21 11:18, Miaohe Lin wrote:
>> If __isolate_free_page() failed, due to zone watermark check, the page is
>> still on the free list. But this page will be put back to free list again
>> via __putback_isolated_page() now. This may trigger page->flags checks in
>> __free_one_page() if PageReported is set. Or we will corrupt the free list
>> because list_add() will be called for pages already on another list.
>>
>> Fixes: 3c605096d315 ("mm/page_alloc: restrict max order of merging on isolated pageblock")
>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>> ---
>>   mm/page_isolation.c | 6 ++----
>>   1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/mm/page_isolation.c b/mm/page_isolation.c
>> index 9bb562d5d194..7d70d772525c 100644
>> --- a/mm/page_isolation.c
>> +++ b/mm/page_isolation.c
>> @@ -93,10 +93,8 @@ static void unset_migratetype_isolate(struct page *page, unsigned migratetype)
>>               buddy_pfn = __find_buddy_pfn(pfn, order);
>>               buddy = page + (buddy_pfn - pfn);
>>   -            if (!is_migrate_isolate_page(buddy)) {
>> -                __isolate_free_page(page, order);
>> -                isolated_page = true;
>> -            }
>> +            if (!is_migrate_isolate_page(buddy))
>> +                isolated_page = !!__isolate_free_page(page, order);
>>           }
>>       }
>>  
> 
> Shouldn't we much rather force to ignore watermarks here and make sure __isolate_free_page() never fails?

It seems it is not easy to force to ignore watermarks here. And it's not a problem
if __isolate_free_page() fails because we can do move_freepages_block() anyway.
What do you think? Many thanks.

> 


  reply	other threads:[~2021-09-06 11:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-04  9:18 [PATCH] mm/page_isolation: don't putback unisolated page Miaohe Lin
2021-09-06  9:40 ` David Hildenbrand
2021-09-06 11:32   ` Miaohe Lin [this message]
2021-09-06 11:50     ` David Hildenbrand
2021-09-06 12:01       ` David Hildenbrand
2021-09-06 12:08         ` Miaohe Lin
2021-09-06 12:02 ` David Hildenbrand
2021-09-06 12:11   ` David Hildenbrand
2021-09-06 12:45     ` Miaohe Lin
2021-09-06 12:49       ` David Hildenbrand
2021-09-07  1:46         ` Miaohe Lin
2021-09-07  9:52           ` David Hildenbrand
2021-09-07  8:08         ` Vlastimil Babka
2021-09-07  9:56           ` David Hildenbrand
2021-09-08 22:42             ` John Hubbard
2021-09-09  8:56               ` David Hildenbrand
2021-09-09  9:07                 ` Vlastimil Babka
2021-09-09  9:37                   ` David Hildenbrand
2021-09-09 16:50                 ` John Hubbard

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=b533742e-e82a-a721-9a24-4087688dd812@huawei.com \
    --to=linmiaohe@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@redhat.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --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.