brcm2708: add linux 4.9 support
[openwrt/staging/yousong.git] / target / linux / brcm2708 / patches-4.9 / 0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
diff --git a/target/linux/brcm2708/patches-4.9/0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-4.9/0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
new file mode 100644 (file)
index 0000000..2fb9aca
--- /dev/null
@@ -0,0 +1,50 @@
+From d8fe940fffef38e498beaa5bd182647452d98de9 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Wed, 18 Dec 2013 22:16:19 +0000
+Subject: [PATCH] config: Enable CONFIG_MEMCG, but leave it disabled (due to
+ memory cost). Enable with cgroup_enable=memory.
+
+---
+ kernel/cgroup.c | 24 +++++++++++++++++++++++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+--- a/kernel/cgroup.c
++++ b/kernel/cgroup.c
+@@ -5629,7 +5629,7 @@ int __init cgroup_init_early(void)
+       return 0;
+ }
+-static u16 cgroup_disable_mask __initdata;
++static u16 cgroup_disable_mask __initdata = 1<<0;
+ /**
+  * cgroup_init - cgroup initialization
+@@ -6166,6 +6166,28 @@ static int __init cgroup_no_v1(char *str
+ }
+ __setup("cgroup_no_v1=", cgroup_no_v1);
++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_disable_mask &= ~(1 << i);
++              }
++      }
++      return 1;
++}
++__setup("cgroup_enable=", cgroup_enable);
++
+ /**
+  * css_tryget_online_from_dir - get corresponding css from a cgroup dentry
+  * @dentry: directory dentry of interest