On Tue, Apr 28, 2020 at 07:27:00PM +0100, Chris Down wrote: > mem_cgroup_protected currently is both used to set effective low and min > and return a mem_cgroup_protection based on the result. As a user, this > can be a little unexpected: it appears to be a simple predicate > function, if not for the big warning in the comment above about the > order in which it must be executed. > > This change makes it so that we separate the state mutations from the > actual protection checks, which makes it more obvious where we need to > be careful mutating internal state, and where we are simply checking and > don't need to worry about that. > > Signed-off-by: Chris Down <chris@xxxxxxxxxxxxxx> > Suggested-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxxxx> > Cc: Roman Gushchin <guro@xxxxxx> > Cc: Yafang Shao <laoar.shao@xxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>