On Tue 31-05-16 15:08:18, Vlastimil Babka wrote:
[...]
> @@ -2364,11 +2350,12 @@ static inline bool should_continue_reclaim(struct 
> zone *zone,
>  }
>  
>  static bool shrink_zone(struct zone *zone, struct scan_control *sc,
> -                     bool is_classzone)
> +                     int classzone_idx)
>  {
>       struct reclaim_state *reclaim_state = current->reclaim_state;
>       unsigned long nr_reclaimed, nr_scanned;
>       bool reclaimable = false;
> +     bool is_classzone = (classzone_idx == zone_idx(zone));
>  
>       do {
>               struct mem_cgroup *root = sc->target_mem_cgroup;
> @@ -2450,7 +2437,7 @@ static bool shrink_zone(struct zone *zone, struct 
> scan_control *sc,
>                       reclaimable = true;
>  
>       } while (should_continue_reclaim(zone, sc->nr_reclaimed - nr_reclaimed,
> -                                      sc->nr_scanned - nr_scanned, sc));
> +                      sc->nr_scanned - nr_scanned, sc, classzone_idx));
>  
>       return reclaimable;
>  }
> @@ -2580,7 +2567,7 @@ static void shrink_zones(struct zonelist *zonelist, 
> struct scan_control *sc)
>                       /* need some check for avoid more shrink_zone() */
>               }
>  
> -             shrink_zone(zone, sc, zone_idx(zone) == classzone_idx);
> +             shrink_zone(zone, sc, classzone_idx);

this should be is_classzone, right?

-- 
Michal Hocko
SUSE Labs

Reply via email to