On Wed, Jun 22, 2016 at 06:00:12PM +0200, Vlastimil Babka wrote: > >>- enum zone_type classzone_idx; > >>- > >> if (!populated_zone(zone)) > >> continue; > >> > >>- classzone_idx = requested_highidx; > >>+ /* > >>+ * Note that reclaim_idx does not change as it is the highest > >>+ * zone reclaimed from which for empty zones is a no-op but > >>+ * classzone_idx is used by shrink_node to test if the slabs > >>+ * should be shrunk on a given node. > >>+ */ > >> while (!populated_zone(zone->zone_pgdat->node_zones + > >>- classzone_idx)) > >>+ classzone_idx)) { > >> classzone_idx--; > >>+ continue; > > Oh and Michal's comment on Patch 20 made me realize that my objection to v6 > about possible underflow of sc->reclaim_idx and classzone_idx seems to still > apply here for classzone_idx? Potentially. The relevant code now looks like this classzone_idx = sc->reclaim_idx; while (!populated_zone(zone->zone_pgdat->node_zones + classzone_idx)) classzone_idx--; -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>