On Tue, Aug 02, 2016 at 06:00:48PM +0300, Vladimir Davydov wrote: > An offline memory cgroup might have anonymous memory or shmem left > charged to it and no swap. Since only swap entries pin the id of an > offline cgroup, such a cgroup will have no id and so an attempt to > swapout its anon/shmem will not store memory cgroup info in the swap > cgroup map. As a result, memcg->swap or memcg->memsw will never get > uncharged from it and any of its ascendants. > > Fix this by always charging swapout to the first ancestor cgroup that > hasn't released its id yet. > > Fixes: 73f576c04b941 ("mm: memcontrol: fix cgroup creation failure after many > small jobs") > Signed-off-by: Vladimir Davydov <vdavy...@virtuozzo.com> > Cc: <sta...@vger.kernel.org> [3.19+]
Acked-by: Johannes Weiner <han...@cmpxchg.org>