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.
(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.)