On Tue, Jul 12, 2016 at 10:05:04AM -0400, Johannes Weiner wrote: > On Fri, Jul 08, 2016 at 10:34:42AM +0100, Mel Gorman wrote: > > kswapd checks all eligible zones to see if they need balancing even if it > > was woken for a lower zone. This made sense when we reclaimed on a > > per-zone basis because we wanted to shrink zones fairly so avoid > > age-inversion problems. Ideally this is completely unnecessary when > > reclaiming on a per-node basis. In theory, there may still be anomalies > > when all requests are for lower zones and very old pages are preserved in > > higher zones but this should be the exceptional case. > > > > Signed-off-by: Mel Gorman <[email protected]> > > Acked-by: Vlastimil Babka <[email protected]> > > Acked-by: Johannes Weiner <[email protected]> > > I wasn't quite sure at first what the rationale is for this patch, > since it probably won't make much difference in pratice.
Possibly not, it depends on how much embedded 32-bit platforms use features like zswap. What I wanted to avoid was a lowmem allocation for zswap excessively reclaiming highmem putting even further pressure on zswap if the pages are anonymous. > But I do > agree that the code is cleaner to have kswapd check exactly what it > was asked to check, rather than some do-the-"right"-thing magic. > But this is a justification on its own. I encountered an astonishing number of magic number handling that just happened to mostly work. I wanted to iron them out as much as possible. > A hypothetical onslaught of low-zone allocations will wreak havoc to > the page age in higher zones anyway, right? So I don't think that case > matters all that much. Possibly not, but it was straight-forward to mitigate the damage without too many side-effects. -- Mel Gorman SUSE Labs

