Re: [PATCH v6 2/4] mm/compaction: enable compacting >0 order folios.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20 Feb 2024, at 4:11, David Hildenbrand wrote:

> On 20.02.24 10:03, David Hildenbrand wrote:
>> On 16.02.24 18:04, Zi Yan wrote:
>>> From: Zi Yan <ziy@xxxxxxxxxx>
>>>
>>> migrate_pages() supports >0 order folio migration and during compaction,
>>> even if compaction_alloc() cannot provide >0 order free pages,
>>> migrate_pages() can split the source page and try to migrate the base
>>> pages from the split.  It can be a baseline and start point for adding
>>> support for compacting >0 order folios.
>>>
>>> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>
>>> Suggested-by: Huang Ying <ying.huang@xxxxxxxxx>
>>> Reviewed-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
>>> Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>
>>> Tested-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
>>> Tested-by: Yu Zhao <yuzhao@xxxxxxxxxx>
>>> Cc: Adam Manzanares <a.manzanares@xxxxxxxxxxx>
>>> Cc: David Hildenbrand <david@xxxxxxxxxx>
>>> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
>>> Cc: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>
>>> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
>>> Cc: Luis Chamberlain <mcgrof@xxxxxxxxxx>
>>> Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
>>> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
>>> Cc: Ryan Roberts <ryan.roberts@xxxxxxx>
>>> Cc: Vishal Moola (Oracle) <vishal.moola@xxxxxxxxx>
>>> Cc: Vlastimil Babka <vbabka@xxxxxxx>
>>> Cc: Yin Fengwei <fengwei.yin@xxxxxxxxx>
>>> ---
>>>    mm/compaction.c | 66 ++++++++++++++++++++++++++++++++++++++-----------
>>>    1 file changed, 52 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/mm/compaction.c b/mm/compaction.c
>>> index cc801ce099b4..aa6aad805c4d 100644
>>> --- a/mm/compaction.c
>>> +++ b/mm/compaction.c
>>> @@ -816,6 +816,21 @@ static bool too_many_isolated(struct compact_control *cc)
>>>    	return too_many;
>>>    }
>>>   +/*
>>
>>
>> Can't you add these comments to the respective checks? Like
>>
>> static bool skip_isolation_on_order(int order, int target_order)
>> {
>> 	/*
>> 	 * Unless we are performing global compaction (targert_order <
>> 	 * 0), skip any folios that are larger than the target order: we
>> 	 * wouldn't be here if we'd have a free folio with the desired
>> 	 * target_order, so migrating this folio would likely fail
>> 	 * later.
>> 	 */
>> 	if (target_order != -1 && order >= target_order)
>> 		return true;
>
> I just stumbled over "is_via_compact_memory", likely that should be used instead of the "!= -1 check.

Thanks. Let me use it.


--
Best Regards,
Yan, Zi

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux