Re: [RFC] mm/compaction: ignore block suitable after check large free page
From: Yisheng Xie
Date: Mon Mar 13 2017 - 08:17:16 EST
Hi Vlastimil,
Thanks for comment.
On 2017/3/13 17:51, Vlastimil Babka wrote:
> On 03/10/2017 10:53 AM, Yisheng Xie wrote:
>> Hi Vlastimil,
>>
>> Thanks for comment.
>> On 2017/3/10 15:30, Vlastimil Babka wrote:
>>> On 03/10/2017 05:20 AM, Yisheng Xie wrote:
>>>> If the migrate target is a large free page and we ignore suitable,
>>>> it may not good for defrag. So move the ignore block suitable after
>>>> check large free page.
>>>
>>> Right. But in practice I expect close to no impact, because direct
>>> compaction shouldn't have to be called if there's a >=pageblock_order
>>> page already available.
>>>
>> Maybe you are right and this change is just based on logical analyses.
>
> I'm not opposing the change, it might be better for future-proofing the
> function, just pointing out that it most likely won't have any visible
> effect right now.
Get it, maybe I should put these in the change log :)
>
>> Presently, only in direct compaction, we increase the compaction priority,
>> and ignore suitable at MIN_COMPACT_PRIORITY. I have a silly question, can
>> we do the similar thing in kcompactd? maybe by doing most work in kcompactd,
>> we can get better perf of slow path.
>
> That would need a very good evaluation at the very least. Migrating
> pages into pageblocks other than movable ones brings the danger of later
> unmovable/reclaimable allocations having to fallback to movable
> pageblocks and causing permanent fragmentation. For direct compaction we
> decided that it's better to risk permanent fragmentation than a
> premature OOM, but for kcompactd there doesn't seem to be such
> compelling reason.
Thanks for kindly explain.
>
>> Thanks
>> Yisheng Xie