lkml.org 
[lkml]   [2021]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v4 0/4] Make alloc_contig_range handle Hugetlb pages
From
Date
On 17.03.21 10:43, Oscar Salvador wrote:
> On 2021-03-15 10:06, David Hildenbrand wrote:
>> BTW, I stumbled yesterday over
>>
>> alloc_contig_pages()->pfn_range_valid_contig():
>>
>> if (page_count(page) > 0)
>> rerurn false;
>> if (PageHuge(page))
>> return false;
>>
>> As used by memtrace and for gigantic pages. We can now
>>
>> a) Drop these check completely, as it's best-effort only and racy.
>> alloc_contig_pages()/alloc_contig_range() will handle it properly.
>
> I was preparing v5, and I wanted to be sure I understood you here.
>
> Right you are that the in-use page check can be dropped, as those pages
> can
> be migrated away, and the Hugetlb page check can also be dropped since
> isolate_migratepages_range is now capable of dealing with those kind of
> pages.
>
>> b) Similarly, check for gigantic pages and/or movability/migratability.
>
> I lost you here.
>
> isolate_or_dissolve_huge_page() already bails out on hugetlb-gigantic
> pages.
>
> Or do you mean to place an upfront check here? (hstate_is_gigantic())?

Yes. But I prefer a) and keeping it simple here -- just doing basic
sanity checks (online, zone, PageReserved()) that are absolutely necessary.



--
Thanks,

David / dhildenb

\
 
 \ /
  Last update: 2021-03-17 10:51    [W:0.085 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site