On Fri 14-07-17 10:55:34, Mel Gorman wrote:
> 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.

yes, that's why I kept it static. I just placed it into the function to
make it clear what the scope is.
-- 
Michal Hocko
SUSE Labs

Reply via email to