On Wed 01-06-16 17:19:26, Vlastimil Babka wrote: > On 06/01/2016 04:21 PM, Michal Hocko wrote: > > 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? > > No, this is shrink_zones() context, not shrink_zone().
Ohh, right. They read to similar. I didn't spot anything else. Acked-by: Michal Hocko <mho...@suse.com> -- Michal Hocko SUSE Labs