mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-07-27 23:26:59 +08:00

These patches were generated from: https://github.com/raspberrypi/linux/commits/rpi-6.12.y With the following command: git format-patch -N v6.12.27..HEAD (HEAD -> 8d3206ee456a5ecdf9ddbfd8e5e231e4f0cd716e) Exceptions: - (def)configs patches - github workflows patches - applied & reverted patches - readme patches - wireless patches Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
60 lines
1.7 KiB
Diff
60 lines
1.7 KiB
Diff
From 70a98ef8898d216ab6788b23057cc34ad91e2bc0 Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
Date: Mon, 9 Dec 2024 14:38:17 +0000
|
|
Subject: [PATCH] cgroup: Add cgroup_enable option
|
|
|
|
The upstream addition of the kernel parameter cgroup_disable makes it
|
|
possible to configure cgroups at boot time. In theory, re-enabling a
|
|
disabled cgroup is simply a case of removing the relevant cgroup_disable
|
|
setting, but this is difficult if the setting comes from Device Tree.
|
|
|
|
Re-introduce cgroup_enable as a way around the problem.
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
---
|
|
kernel/cgroup/cgroup.c | 33 +++++++++++++++++++++++++++++++++
|
|
1 file changed, 33 insertions(+)
|
|
|
|
--- a/kernel/cgroup/cgroup.c
|
|
+++ b/kernel/cgroup/cgroup.c
|
|
@@ -6887,6 +6887,39 @@ static int __init cgroup_disable(char *s
|
|
}
|
|
__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;
|
|
+
|
|
+ static_branch_enable(cgroup_subsys_enabled_key[i]);
|
|
+ pr_info("Enabling %s control group subsystem\n",
|
|
+ ss->name);
|
|
+ }
|
|
+
|
|
+ for (i = 0; i < OPT_FEATURE_COUNT; i++) {
|
|
+ if (strcmp(token, cgroup_opt_feature_names[i]))
|
|
+ continue;
|
|
+ cgroup_feature_disable_mask &= ~(1 << i);
|
|
+ pr_info("Enabling %s control group feature\n",
|
|
+ cgroup_opt_feature_names[i]);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ return 1;
|
|
+}
|
|
+__setup("cgroup_enable=", cgroup_enable);
|
|
+
|
|
void __init __weak enable_debug_cgroup(void) { }
|
|
|
|
static int __init enable_cgroup_debug(char *str)
|