| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- From 0f95a2f2688ff44dc7080beaa2076741a0bdf510 Mon Sep 17 00:00:00 2001
- From: Phil Elwell <[email protected]>
- Date: Mon, 27 Nov 2017 17:14:54 +0000
- Subject: [PATCH] cgroup: Disable cgroup "memory" by default
- Some Raspberry Pis have limited RAM and most users won't use the
- cgroup memory support so it is disabled by default. Enable with:
- cgroup_enable=memory
- See: https://github.com/raspberrypi/linux/issues/1950
- Signed-off-by: Phil Elwell <[email protected]>
- ---
- kernel/cgroup/cgroup.c | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
- --- a/kernel/cgroup/cgroup.c
- +++ b/kernel/cgroup/cgroup.c
- @@ -5722,6 +5722,8 @@ int __init cgroup_init_early(void)
- }
-
- static u16 cgroup_disable_mask __initdata;
- +static u16 cgroup_enable_mask __initdata;
- +static int __init cgroup_disable(char *str);
-
- /**
- * cgroup_init - cgroup initialization
- @@ -5761,6 +5763,12 @@ int __init cgroup_init(void)
-
- mutex_unlock(&cgroup_mutex);
-
- + /* Apply an implicit disable... */
- + cgroup_disable("memory");
- +
- + /* ...knowing that an explicit enable will override it. */
- + cgroup_disable_mask &= ~cgroup_enable_mask;
- +
- for_each_subsys(ss, ssid) {
- if (ss->early_init) {
- struct cgroup_subsys_state *css =
- @@ -6180,6 +6188,28 @@ static int __init cgroup_disable(char *s
- }
- __setup("cgroup_disable=", cgroup_disable);
-
- +static int __init cgroup_enable(char *str)
- +{
- + struct cgroup_subsys *ss;
- + char *token;
- + int i;
- +
- + while ((token = strsep(&str, ",")) != NULL) {
- + if (!*token)
- + continue;
- +
- + for_each_subsys(ss, i) {
- + if (strcmp(token, ss->name) &&
- + strcmp(token, ss->legacy_name))
- + continue;
- +
- + cgroup_enable_mask |= 1 << i;
- + }
- + }
- + return 1;
- +}
- +__setup("cgroup_enable=", cgroup_enable);
- +
- void __init __weak enable_debug_cgroup(void) { }
-
- static int __init enable_cgroup_debug(char *str)
|