Re: [PATCH v6 23/29] memcg: destroy memcg caches

From: Andrew Morton
Date: Thu Nov 01 2012 - 20:05:41 EST


On Thu, 1 Nov 2012 16:07:39 +0400
Glauber Costa <glommer@xxxxxxxxxxxxx> wrote:

> This patch implements destruction of memcg caches. Right now,
> only caches where our reference counter is the last remaining are
> deleted. If there are any other reference counters around, we just
> leave the caches lying around until they go away.
>
> When that happen, a destruction function is called from the cache
> code. Caches are only destroyed in process context, so we queue them
> up for later processing in the general case.
>
>
> ...
>
> @@ -5950,6 +6012,7 @@ static int mem_cgroup_pre_destroy(struct cgroup *cont)
> {
> struct mem_cgroup *memcg = mem_cgroup_from_cont(cont);
>
> + mem_cgroup_destroy_all_caches(memcg);
> return mem_cgroup_force_empty(memcg, false);
> }
>

Conflicts with linux-next cgroup changes. Looks pretty simple:


static int mem_cgroup_pre_destroy(struct cgroup *cont)
{
struct mem_cgroup *memcg = mem_cgroup_from_cont(cont);
int ret;

css_get(&memcg->css);
ret = mem_cgroup_reparent_charges(memcg);
mem_cgroup_destroy_all_caches(memcg);
css_put(&memcg->css);

return ret;
}

--
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/