Re: [RFC PATCH] mm, compaction: allow compaction for GFP_NOFS requests

Vlastimil Babka
2016-10-10T06:44:51Z

On 10/07/2016 11:21 AM, Michal Hocko wrote:
> On Fri 07-10-16 10:15:07, Vlastimil Babka wrote:
>> On 10/07/2016 08:50 AM, Michal Hocko wrote:
>>> On Fri 07-10-16 07:27:37, Vlastimil Babka wrote:
> [...]
>>>> But make sure you don't break kcompactd and manual compaction from /proc, as
>>>> they don't currently set cc->gfp_mask. Looks like until now it was only used
>>>> to determine direct compactor's migratetype which is irrelevant in those
>>>> contexts.
>>>
>>> OK, I see. This is really subtle. One way to go would be to provide a
>>> fake gfp_mask for them. How does the following look to you?
>>
>> Looks OK. I'll have to think about the kcompactd case, as gfp mask implying
>> unmovable migratetype might restrict it without good reason. But that would
>> be separate patch anyway, yours doesn't change that (empty gfp_mask also
>> means unmovable migratetype) and that's good.
>
> OK, I see. A follow up patch would be really trivial AFAICS. Just add
> __GFP_MOVABLE to the mask. But I am not familiar with all these details
> enough to propose a patch with full description.

Hm, actually the migratetype only matters for async compaction, and
kcompactd uses sync_light, so __GFP_MOVABLE will have no effect right now.