mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 09513957908d52d3422623bf111a895092c0b968 Mon Sep 17 00:00:00 2001
 | 
						|
From: Phil Elwell <phil@raspberrypi.org>
 | 
						|
Date: Mon, 27 Nov 2017 17:14:54 +0000
 | 
						|
Subject: [PATCH 152/277] 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 <phil@raspberrypi.org>
 | 
						|
---
 | 
						|
 kernel/cgroup/cgroup.c | 30 ++++++++++++++++++++++++++++++
 | 
						|
 1 file changed, 30 insertions(+)
 | 
						|
 | 
						|
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
 | 
						|
index 030e4286f14c..c9b7a0cd1e30 100644
 | 
						|
--- a/kernel/cgroup/cgroup.c
 | 
						|
+++ b/kernel/cgroup/cgroup.c
 | 
						|
@@ -5137,6 +5137,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
 | 
						|
@@ -5175,6 +5177,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 =
 | 
						|
@@ -5555,6 +5563,28 @@ 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;
 | 
						|
+
 | 
						|
+		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);
 | 
						|
+
 | 
						|
 /**
 | 
						|
  * css_tryget_online_from_dir - get corresponding css from a cgroup dentry
 | 
						|
  * @dentry: directory dentry of interest
 | 
						|
-- 
 | 
						|
2.16.1
 | 
						|
 |