diff options
Diffstat (limited to 'target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch new file mode 100644 index 0000000000..dec8cdf0cd --- /dev/null +++ b/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch @@ -0,0 +1,77 @@ +From 6f2dc468edc31cf2c9b2098566cbbcc1e59b5ad5 Mon Sep 17 00:00:00 2001 +From: popcornmix <popcornmix@gmail.com> +Date: Wed, 18 Dec 2013 22:16:19 +0000 +Subject: [PATCH 27/54] config: Enable CONFIG_MEMCG, but leave it disabled (due + to memory cost). Enable with cgroup_enable=memory. + +--- + arch/arm/configs/bcmrpi_defconfig | 1 + + kernel/cgroup.c | 27 +++++++++++++++++++++++++++ + mm/memcontrol.c | 1 + + 3 files changed, 29 insertions(+) + +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index 78d789c..e89e430 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -18,6 +18,7 @@ CONFIG_CGROUP_FREEZER=y + CONFIG_CGROUP_DEVICE=y + CONFIG_CGROUP_CPUACCT=y + CONFIG_RESOURCE_COUNTERS=y ++CONFIG_MEMCG=y + CONFIG_BLK_CGROUP=y + CONFIG_NAMESPACES=y + CONFIG_SCHED_AUTOGROUP=y +diff --git a/kernel/cgroup.c b/kernel/cgroup.c +index 0c753dd..a18b46e 100644 +--- a/kernel/cgroup.c ++++ b/kernel/cgroup.c +@@ -5252,6 +5252,33 @@ static int __init cgroup_disable(char *str) + } + __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; ++ ++ /* ++ * cgroup_disable, being at boot time, can't know about ++ * module subsystems, so we don't worry about them. ++ */ ++ for_each_builtin_subsys(ss, i) { ++ if (!strcmp(token, ss->name)) { ++ ss->disabled = 0; ++ printk(KERN_INFO "Disabling %s control group" ++ " subsystem\n", ss->name); ++ break; ++ } ++ } ++ } ++ return 1; ++} ++__setup("cgroup_enable=", cgroup_enable); ++ + /** + * css_from_dir - get corresponding css from the dentry of a cgroup dir + * @dentry: directory dentry of interest +diff --git a/mm/memcontrol.c b/mm/memcontrol.c +index 9b35da2..a9891cc 100644 +--- a/mm/memcontrol.c ++++ b/mm/memcontrol.c +@@ -7289,6 +7289,7 @@ struct cgroup_subsys mem_cgroup_subsys = { + .bind = mem_cgroup_bind, + .base_cftypes = mem_cgroup_files, + .early_init = 0, ++ .disabled = 1, + }; + + #ifdef CONFIG_MEMCG_SWAP +-- +1.9.1 + |