Re: [PATCH -v2 4/6] memcg: make sure that memcg is not offline whencharging

From: Michal Hocko
Date: Wed Feb 05 2014 - 12:23:35 EST


On Wed 05-02-14 11:45:43, Johannes Weiner wrote:
> On Wed, Feb 05, 2014 at 05:19:40PM +0100, Michal Hocko wrote:
> > On Wed 05-02-14 10:28:21, Johannes Weiner wrote:
> > > Here is the only exception to the above: swapout records maintain
> > > permanent css references, so they prevent css_free() from running.
> > > For that reason alone we should run one optimistic reparenting in
> > > css_offline() to make sure one swap record does not pin gigabytes of
> > > pages in an offlined cgroup, which is unreachable for reclaim. But
> >
> > How can reparenting help for swapped out pages? Or did you mean to at
> > least get rid of swapcache pages?
>
> I was thinking primarily of page cache. There could be a lot of it
> left in the group and once css_tryget() is disabled we can't reclaim
> it anymore.

Good point.

> So we'd clean that out at offline time optimistically and
> at css_free() we catch any charges raced that showed up afterwards.

OK, care to send a patch which would clarify the reparenting usage in
both css_offline and css_free?

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/