Re: [RFC][PATCH 1/6] memcg: free all at rmdir

KAMEZAWA Hiroyuki
2008-11-13T02:31:12Z

On Thu, 13 Nov 2008 06:47:31 +0530
Balbir Singh <balbir@linux.vnet.ibm.com> wrote:

> > btw, mem_cgroup_force_empty_list() uses PageLRU() outside ->lru_lock.
> > That's racy, although afaict this race will only cause an accounting
> > error.
> >
> > Or maybe not. What happens if
> > __mem_cgroup_uncharge_common()->__mem_cgroup_remove_list() is passed a
> > page which isn't on an LRU any more? boom?
> >
>
> IIRC, Kamezawa has been working on redoing force_empty interface. We are
> reworking its internals as well.
>

PageLRU() is not used in account_move() version (in mmotm queue)
patches/memcg-move-all-acccounts-to-parent-at-rmdir.patch removes that.

We're now testing patch [6/6] which does

1. remove per-memcg-lru-lock
2. use zone->lru_lock instead of that.

Then, maintenance of this memcontrol.c will be much easier.

After patch [6/6]. account_move does

isolate_page(page);
move to other cgroup
putback_lru_page(page);

as other usual routine does.

Thanks,
-Kame