Re: [PATCH V4 3/4] mm: reduce try_to_compact_pages parameters

From: Michal Hocko
Date: Wed Jan 07 2015 - 04:18:24 EST


On Wed 07-01-15 10:11:45, Vlastimil Babka wrote:
> On 01/06/2015 03:57 PM, Michal Hocko wrote:
> > Hmm, wait a minute
> >
> > On Mon 05-01-15 18:17:42, Vlastimil Babka wrote:
> > [...]
> >> -unsigned long try_to_compact_pages(struct zonelist *zonelist,
> >> - int order, gfp_t gfp_mask, nodemask_t *nodemask,
> >> - enum migrate_mode mode, int *contended,
> >> - int alloc_flags, int classzone_idx)
> >> +unsigned long try_to_compact_pages(gfp_t gfp_mask, unsigned int order,
> >> + int alloc_flags, const struct alloc_context *ac,
> >> + enum migrate_mode mode, int *contended)
> >> {
> >> - enum zone_type high_zoneidx = gfp_zone(gfp_mask);
> >> int may_enter_fs = gfp_mask & __GFP_FS;
> >> int may_perform_io = gfp_mask & __GFP_IO;
> >> struct zoneref *z;
> >
> > gfp_mask might change since the high_zoneidx was set up in the call
> > chain. I guess this shouldn't change to the gfp_zone output but it is
> > worth double checking.
>
> Yeah I checked that. gfp_zone() operates just on GFP_ZONEMASK part of the flags,
> and we don't change that.

That was my understanding as well. Maybe we want
VM_BUG_ON(gfp_zone(gfp_mask) != ac->high_zoneidx);
--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/