On Fri, Jul 14, 2017 at 10:00:03AM +0200, Michal Hocko wrote:
>  
>       zonelist = &pgdat->node_zonelists[ZONELIST_NOFALLBACK];
> -     j = build_zonelists_node(pgdat, zonelist, 0);
> -     zonelist->_zonerefs[j].zone = NULL;
> -     zonelist->_zonerefs[j].zone_idx = 0;
> +     zoneref_idx = build_zonelists_node(pgdat, zonelist, zoneref_idx);
> +     zonelist->_zonerefs[zoneref_idx].zone = NULL;
> +     zonelist->_zonerefs[zoneref_idx].zone_idx = 0;
>  }
>  
>  /*
> @@ -4946,21 +4949,13 @@ static void build_thisnode_zonelists(pg_data_t *pgdat)
>   * exhausted, but results in overflowing to remote node while memory
>   * may still exist in local DMA zone.
>   */
> -static int node_order[MAX_NUMNODES];
>  
>  static void build_zonelists(pg_data_t *pgdat)
>  {
> -     int i, node, load;
> +     static int node_order[MAX_NUMNODES];
> +     int node, load, i = 0;

Emm, node_order can be large. The first distro config I checked
indicated that this is 8K. I got hung up on that part and didn't look
closely at the rest of the patch.

-- 
Mel Gorman
SUSE Labs

Reply via email to