Messages in this thread | | | Date | Wed, 5 Feb 2014 18:23:23 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH -v2 4/6] memcg: make sure that memcg is not offline when charging |
| |
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
| |