On Tue, Jan 29, 2019 at 02:15:25PM -0500, Chris Down wrote: > Roman points out that when when we do the low reclaim pass, we scale the > reclaim pressure relative to position between 0 and the maximum > protection threshold. > > However, if the maximum protection is based on memory.elow, and > memory.emin is above zero, this means we still may get binary behaviour > on second-pass low reclaim. This is because we scale starting at 0, not > starting at memory.emin, and since we don't scan at all below emin, we > end up with cliff behaviour. > > This should be a fairly uncommon case since usually we don't go into the > second pass, but it makes sense to scale our low reclaim pressure > starting at emin. > > You can test this by catting two large sparse files, one in a cgroup > with emin set to some moderate size compared to physical RAM, and > another cgroup without any emin. In both cgroups, set an elow larger > than 50% of physical RAM. The one with emin will have less page > scanning, as reclaim pressure is lower. > > Signed-off-by: Chris Down <[email protected]> > Suggested-by: Roman Gushchin <[email protected]> > Cc: Johannes Weiner <[email protected]> > Cc: Andrew Morton <[email protected]> > Cc: Michal Hocko <[email protected]> > Cc: Tejun Heo <[email protected]> > Cc: Roman Gushchin <[email protected]> > Cc: Dennis Zhou <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected]
Acked-by: Roman Gushchin <[email protected]> Thanks!

