[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6acaf695-1c77-c0c6-a1d4-4cc946310997@huawei.com>
Date: Wed, 14 Jun 2023 19:21:02 +0800
From: Kefeng Wang <wangkefeng.wang@...wei.com>
To: Matthew Wilcox <willy@...radead.org>
CC: <akpm@...ux-foundation.org>, <linux-mm@...ck.org>,
<linux-kernel@...r.kernel.org>, <jgowans@...zon.com>,
<yuzhao@...gle.com>
Subject: Re: [PATCH -next 1/2] mm: compaction: convert to use a folio in
isolate_migratepages_block()
On 2023/6/13 9:53, Kefeng Wang wrote:
>
>
> On 2023/6/12 22:41, Matthew Wilcox wrote:
>> On Mon, Jun 12, 2023 at 10:34:13PM +0800, Kefeng Wang wrote:
>>> @@ -959,7 +960,8 @@ isolate_migratepages_block(struct compact_control
>>> *cc, unsigned long low_pfn,
>>> * Hugepage was successfully isolated and placed
>>> * on the cc->migratepages list.
>>> */
>>> - low_pfn += compound_nr(page) - 1;
>>> + folio = page_folio(page);
>>> + low_pfn += folio_nr_pages(folio) - 1;
>>> goto isolate_success_no_list;
>>
>> Why is this safe? That is, how do we know that the folio can't be
>> dissolved under us at this point, then reallocated and hit the
>> VM_BUG_ON_PGFLAGS(PageTail(page), page) in folio_flags() when we
>> test folio_test_large()?
>
> This is successfully isolated path, after isolate_hugetlb(), the folio
> reference is incremented, so I think the folio can't be dissolved here,
> correct me if I am wrong.
Hi Matthew,is it enough for the above conversion from page to folio with
reference?
Powered by blists - more mailing lists