diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch index 86f60e7052..d4818b2239 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch @@ -1,4 +1,4 @@ -From 0f95a2f2688ff44dc7080beaa2076741a0bdf510 Mon Sep 17 00:00:00 2001 +From 2b13c54592135b6fab269517ed687fa9f80bf8e5 Mon Sep 17 00:00:00 2001 From: Phil Elwell <phil@raspberrypi.org> Date: Mon, 27 Nov 2017 17:14:54 +0000 Subject: [PATCH] cgroup: Disable cgroup "memory" by default @@ -12,34 +12,46 @@ See: https://github.com/raspberrypi/linux/issues/1950 Signed-off-by: Phil Elwell <phil@raspberrypi.org> --- - kernel/cgroup/cgroup.c | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) + kernel/cgroup/cgroup.c | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5722,6 +5722,8 @@ int __init cgroup_init_early(void) +@@ -5721,6 +5721,9 @@ int __init cgroup_init_early(void) + return 0; } - 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) + * +@@ -5759,6 +5762,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); -+ /* Apply an implicit disable... */ ++ /* ++ * Apply an implicit disable, knowing that an explicit enable will ++ * prevent if from doing anything. ++ */ + 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 +@@ -6168,6 +6177,10 @@ static int __init cgroup_disable(char *s + strcmp(token, ss->legacy_name)) + continue; + ++ /* An explicit cgroup_enable overrides a disable */ ++ if (cgroup_enable_mask & (1 << i)) ++ continue; ++ + static_branch_disable(cgroup_subsys_enabled_key[i]); + pr_info("Disabling %s control group subsystem\n", + ss->name); +@@ -6177,6 +6190,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); @@ -59,6 +71,9 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> + continue; + + cgroup_enable_mask |= 1 << i; ++ static_branch_enable(cgroup_subsys_enabled_key[i]); ++ pr_info("Enabling %s control group subsystem\n", ++ ss->name); + } + } + return 1; |