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

Reply via email to