* [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization
@ 2015-02-19 14:34 Vladimir Davydov
2015-02-19 14:34 ` [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy Vladimir Davydov
2015-03-02 17:12 ` [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization Tejun Heo
0 siblings, 2 replies; 5+ messages in thread
From: Vladimir Davydov @ 2015-02-19 14:34 UTC (permalink / raw)
To: Tejun Heo; +Cc: Johannes Weiner, Michal Hocko, linux-mm, cgroups, linux-kernel
Currently, we call cgroup_subsys->bind only on unmount, remount, and
when creating a new root on mount. Since the default hierarchy root is
created in cgroup_init, we will not call cgroup_subsys->bind if the
default hierarchy is freshly mounted. As a result, some controllers will
behave incorrectly (most notably, the "memory" controller will not
enable hierarchy support). Fix this by calling cgroup_subsys->bind right
after initializing a cgroup subsystem.
Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
---
kernel/cgroup.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 29a7b2cc593e..21a4b6d61e21 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5040,6 +5040,9 @@ int __init cgroup_init(void)
WARN_ON(cgroup_add_dfl_cftypes(ss, ss->dfl_cftypes));
WARN_ON(cgroup_add_legacy_cftypes(ss, ss->legacy_cftypes));
}
+
+ if (ss->bind)
+ ss->bind(init_css_set.subsys[ssid]);
}
cgroup_kobj = kobject_create_and_add("cgroup", fs_kobj);
--
1.7.10.4
--
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>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy
2015-02-19 14:34 [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization Vladimir Davydov
@ 2015-02-19 14:34 ` Vladimir Davydov
2015-03-02 17:13 ` Tejun Heo
2015-03-02 17:12 ` [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization Tejun Heo
1 sibling, 1 reply; 5+ messages in thread
From: Vladimir Davydov @ 2015-02-19 14:34 UTC (permalink / raw)
To: Tejun Heo; +Cc: Johannes Weiner, Michal Hocko, linux-mm, cgroups, linux-kernel
If the memory cgroup controller is initially mounted in the scope of the
default cgroup hierarchy and then remounted to a legacy hierarchy, it
will still have hierarchy support enabled, which is incorrect. We should
disable hierarchy support if bound to the legacy cgroup hierarchy.
Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
---
mm/memcontrol.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index d18d3a6e7337..40889117c1f7 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5232,7 +5232,9 @@ static void mem_cgroup_bind(struct cgroup_subsys_state *root_css)
* on for the root memcg is enough.
*/
if (cgroup_on_dfl(root_css->cgroup))
- mem_cgroup_from_css(root_css)->use_hierarchy = true;
+ root_mem_cgroup->use_hierarchy = true;
+ else
+ root_mem_cgroup->use_hierarchy = false;
}
static u64 memory_current_read(struct cgroup_subsys_state *css,
--
1.7.10.4
--
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy
2015-02-19 14:34 ` [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy Vladimir Davydov
@ 2015-03-02 17:13 ` Tejun Heo
2015-03-02 17:33 ` Johannes Weiner
0 siblings, 1 reply; 5+ messages in thread
From: Tejun Heo @ 2015-03-02 17:13 UTC (permalink / raw)
To: Vladimir Davydov
Cc: Johannes Weiner, Michal Hocko, linux-mm, cgroups, linux-kernel
On Thu, Feb 19, 2015 at 05:34:47PM +0300, Vladimir Davydov wrote:
> If the memory cgroup controller is initially mounted in the scope of the
> default cgroup hierarchy and then remounted to a legacy hierarchy, it
> will still have hierarchy support enabled, which is incorrect. We should
> disable hierarchy support if bound to the legacy cgroup hierarchy.
>
> Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Johannes, Michal, can you guys pick this up?
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy
2015-03-02 17:13 ` Tejun Heo
@ 2015-03-02 17:33 ` Johannes Weiner
0 siblings, 0 replies; 5+ messages in thread
From: Johannes Weiner @ 2015-03-02 17:33 UTC (permalink / raw)
To: Tejun Heo; +Cc: Vladimir Davydov, Michal Hocko, linux-mm, cgroups, linux-kernel
On Mon, Mar 02, 2015 at 12:13:23PM -0500, Tejun Heo wrote:
> On Thu, Feb 19, 2015 at 05:34:47PM +0300, Vladimir Davydov wrote:
> > If the memory cgroup controller is initially mounted in the scope of the
> > default cgroup hierarchy and then remounted to a legacy hierarchy, it
> > will still have hierarchy support enabled, which is incorrect. We should
> > disable hierarchy support if bound to the legacy cgroup hierarchy.
> >
> > Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
>
> Johannes, Michal, can you guys pick this up?
Yup, will do.
--
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization
2015-02-19 14:34 [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization Vladimir Davydov
2015-02-19 14:34 ` [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy Vladimir Davydov
@ 2015-03-02 17:12 ` Tejun Heo
1 sibling, 0 replies; 5+ messages in thread
From: Tejun Heo @ 2015-03-02 17:12 UTC (permalink / raw)
To: Vladimir Davydov
Cc: Johannes Weiner, Michal Hocko, linux-mm, cgroups, linux-kernel
On Thu, Feb 19, 2015 at 05:34:46PM +0300, Vladimir Davydov wrote:
> Currently, we call cgroup_subsys->bind only on unmount, remount, and
> when creating a new root on mount. Since the default hierarchy root is
> created in cgroup_init, we will not call cgroup_subsys->bind if the
> default hierarchy is freshly mounted. As a result, some controllers will
> behave incorrectly (most notably, the "memory" controller will not
> enable hierarchy support). Fix this by calling cgroup_subsys->bind right
> after initializing a cgroup subsystem.
>
> Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Applied to cgroup/for-4.0-fixes.
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-03-02 17:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-19 14:34 [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization Vladimir Davydov
2015-02-19 14:34 ` [PATCH 2/2] memcg: disable hierarchy support if bound to the legacy cgroup hierarchy Vladimir Davydov
2015-03-02 17:13 ` Tejun Heo
2015-03-02 17:33 ` Johannes Weiner
2015-03-02 17:12 ` [PATCH 1/2] cgroup: call cgroup_subsys->bind on cgroup subsys initialization Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox