return 0;
}
-static u16 cgroup_enable_mask __initdata;
-static int __init cgroup_disable(char *str);
-
/**
* cgroup_init - cgroup initialization
*
mutex_unlock(&cgroup_mutex);
- /*
- * Apply an implicit disable, knowing that an explicit enable will
- * prevent if from doing anything.
- */
- cgroup_disable("memory");
-
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
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);
}
__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;
- static_branch_enable(cgroup_subsys_enabled_key[i]);
- pr_info("Enabling %s control group subsystem\n",
- ss->name);
- }
- }
- return 1;
-}
-__setup("cgroup_enable=", cgroup_enable);
-
void __init __weak enable_debug_cgroup(void) { }
static int __init enable_cgroup_debug(char *str)