On Thu, 1 Nov 2012 16:07:39 +0400 Glauber Costa <glom...@parallels.com> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/