On Wed 15-05-13 12:42:10, Glauber Costa wrote: > On 05/13/2013 11:46 AM, Michal Hocko wrote: > > Soft reclaim has been done only for the global reclaim (both background > > and direct). Since "memcg: integrate soft reclaim tighter with zone > > shrinking code" there is no reason for this limitation anymore as the > > soft limit reclaim doesn't use any special code paths and it is a > > part of the zone shrinking code which is used by both global and > > targeted reclaims. > > > > From semantic point of view it is even natural to consider soft limit > > before touching all groups in the hierarchy tree which is touching the > > hard limit because soft limit tells us where to push back when there is > > a memory pressure. It is not important whether the pressure comes from > > the limit or imbalanced zones. > > > > This patch simply enables soft reclaim unconditionally in > > mem_cgroup_should_soft_reclaim so it is enabled for both global and > > targeted reclaim paths. mem_cgroup_soft_reclaim_eligible needs to learn > > about the root of the reclaim to know where to stop checking soft limit > > state of parents up the hierarchy. > > Say we have > > A (over soft limit) > > \ > > B (below s.l., hit the hard limit) > > / \ > > C D (below s.l.) > > > > B is the source of the outside memory pressure now for D but we > > shouldn't soft reclaim it because it is behaving well under B subtree > > and we can still reclaim from C (pressumably it is over the limit). > > mem_cgroup_soft_reclaim_eligible should therefore stop climbing up the > > hierarchy at B (root of the memory pressure). > > > > Changes since v1 > > - add sc->target_mem_cgroup handling into mem_cgroup_soft_reclaim_eligible > > > > Signed-off-by: Michal Hocko <mhocko@xxxxxxx> > > --- > > Reviewed-by: Glauber Costa <glommer@xxxxxxxxxx> Thanks for the review Glauber! -- Michal Hocko 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>