Re: [PATCH v3 04/13] kmem accounting basic infrastructure
From: Glauber Costa <hidden>
Date: 2012-09-26 17:37:41
Also in:
linux-mm, lkml
On 09/26/2012 08:01 PM, Michal Hocko wrote:
On Wed 26-09-12 18:33:10, Glauber Costa wrote:quoted
On 09/26/2012 06:03 PM, Michal Hocko wrote:quoted
On Tue 18-09-12 18:04:01, Glauber Costa wrote:[...]quoted
quoted
quoted
@@ -4961,6 +5015,12 @@ mem_cgroup_create(struct cgroup *cont) int cpu; enable_swap_cgroup(); parent = NULL; + +#ifdef CONFIG_MEMCG_KMEM + WARN_ON(cgroup_add_cftypes(&mem_cgroup_subsys, + kmem_cgroup_files)); +#endif + if (mem_cgroup_soft_limit_tree_init()) goto free_out; root_mem_cgroup = memcg;@@ -4979,6 +5039,7 @@ mem_cgroup_create(struct cgroup *cont) if (parent && parent->use_hierarchy) { res_counter_init(&memcg->res, &parent->res); res_counter_init(&memcg->memsw, &parent->memsw); + res_counter_init(&memcg->kmem, &parent->kmem);Haven't we already discussed that a new memcg should inherit kmem_accounted from its parent for use_hierarchy? Say we have root | A (kmem_accounted = 1, use_hierachy = 1) \ B (kmem_accounted = 0) \ C (kmem_accounted = 1) B find's itself in an awkward situation becuase it doesn't want to account u+k but it ends up doing so becuase C.Ok, I haven't updated it here. But that should be taken care of in the lifecycle patch.I am not sure which patch you are thinking about but I would prefer to have it here because it is safe wrt. races and it is more obvious as well.
The patch where I make kmem_accounted into a bitfield. So any code here will eventually disappear. But BTW, I am not saying I won't update the patch - I like that all patches work and make sense in their own, I am just saying that I forgot to update this patch, because I added the code in its final version to the end and then squashed it. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>