Messages in this thread | | | Date | Thu, 23 Jun 2016 13:13:20 +0200 | From | Michal Hocko <> | Subject | Re: [PATCH 04/27] mm, vmscan: Begin reclaiming pages on a per-node basis |
| |
On Thu 23-06-16 12:07:28, Mel Gorman wrote: > 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--;
Yes that makes much more sense to me.
-- Michal Hocko SUSE Labs
| |