Re: [PATCH v2 2/2] mm,thp,compaction,cma: allow THP migration for CMA allocations

From: Vlastimil Babka
Date: Fri Feb 28 2020 - 09:39:42 EST


On 2/28/20 3:32 PM, Rik van Riel wrote:

>>> Does that need to be the following, then?
>>>
>>> if (PageTransHuge(head) && !PageHuge(page) && !PageLRU(head)
>>> &&
>>> !__PageMovable(head))
>>> return page;
>>
>> I would instead make it an "else if" to the "if (PageHuge(page)...)"
>> above.
>
> That was my first thought too, but that could break on
> pages that are PageHuge when hugepage_migration_supported
> returns true.

Right, so then

if (PageHuge()) {
if (!migration_supported) return false;
} else if (!PageLRU(head) ...) {
etc...

IMHO it's better than adding more tests to the second if.