On Thu, Mar 12, 2020 at 06:03:04PM +0000, Chris Down wrote: > Prior to this commit, we only directly check the affected cgroup's > memory.high against its usage. However, it's possible that we are being > reclaimed as a result of hitting an ancestor memory.high and should be > penalised based on that, instead. > > This patch changes memory.high overage throttling to use the largest > overage in its ancestors when considering how many penalty jiffies to > charge. This makes sure that we penalise poorly behaving cgroups in the > same way regardless of at what level of the hierarchy memory.high was > breached. > > Fixes: 0e4b01df8659 ("mm, memcg: throttle allocators when failing reclaim over memory.high") > Reported-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Signed-off-by: Chris Down <chris@xxxxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx > Cc: cgroups@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: kernel-team@xxxxxx > Cc: stable@xxxxxxxxxxxxxxx # 5.4.x Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>