Re: [PATCH 4/4] memcg: always enable kmemcg on the default hierarchy
From: Tejun Heo <tj@kernel.org>
Date: 2015-08-28 16:56:08
Also in:
linux-mm
Hello, On Fri, Aug 28, 2015 at 07:49:18PM +0300, Vladimir Davydov wrote:
On Fri, Aug 28, 2015 at 11:25:30AM -0400, Tejun Heo wrote:quoted
On the default hierarchy, all memory consumption will be accounted together and controlled by the same set of limits. Always enable kmemcg on the default hierarchy.IMO we should introduce a boot time knob for disabling it, because kmem accounting is still not perfect, besides some users might prefer to go w/o it for performance reasons.
Yeah, fair enough.
quoted
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index c94b686..8a5dd01 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c@@ -4362,6 +4362,13 @@ mem_cgroup_css_online(struct cgroup_subsys_state *css) if (ret) return ret; + /* kmem is always accounted together on the default hierarchy */ + if (cgroup_on_dfl(css->cgroup)) { + ret = memcg_activate_kmem(memcg, PAGE_COUNTER_MAX); + if (ret) + return ret; + } +This is a wrong place for this. The kernel will panic on an attempt to create a sub memcg, because memcg_init_kmem already enables kmem accounting in this case. I guess we should add this hunk to memcg_propagate_kmem instead.
Yeap, bypassing "parent is active" test in memcg_propagate_kmem() seems like the right thing to do. Thanks. -- tejun -- 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>