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

From: Vlastimil Babka
Date: Wed Jan 07 2015 - 04:11:56 EST


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.

>> @@ -1365,8 +1363,8 @@ unsigned long try_to_compact_pages(struct zonelist *zonelist,
>> return COMPACT_SKIPPED;
>>
>> /* Compact each zone in the list */
>> - for_each_zone_zonelist_nodemask(zone, z, zonelist, high_zoneidx,
>> - nodemask) {
>> + for_each_zone_zonelist_nodemask(zone, z, ac->zonelist, ac->high_zoneidx,
>> + ac->nodemask) {
>> int status;
>> int zone_contended;
>>
>

--
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/