Messages in this thread | | | Date | Thu, 13 Nov 2008 11:30:35 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [RFC][PATCH 1/6] memcg: free all at rmdir |
| |
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
| |