On Wed 29-05-19 23:44:53, Chris Down wrote: > Michal Hocko writes: > > Maybe I am missing something so correct me if I am wrong but the new > > calculation actually means that we always allow to scan even min > > protected memcgs right? > > We check if the memcg is min protected as a precondition for coming into > this function at all, so this generally isn't possible. See the > mem_cgroup_protected MEMCG_PROT_MIN check in shrink_node. OK, that is the part I was missing, I got confused by checking the min limit as well here. Thanks for the clarification. A comment would be handy or do we really need to consider min at all? > (Of course, it's possible we race with going within protection thresholds > again, but this patch doesn't make that any better or worse than the > previous situation.) Yeah. With the above clarified. The code the resulting code is much easier to follow and the overal logic makes sense to me. Acked-by: Michal Hocko <mhocko@xxxxxxxx> -- Michal Hocko SUSE Labs