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

From: Michal Hocko
Date: Fri Oct 07 2016 - 05:21:24 EST

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.
Michal Hocko