meta-agl-bsp: Re-enable memory cgroup support by default for Raspberry Pi 97/30797/5 19.0.0 salmon/19.0.0 salmon_19.0.0
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Mon, 3 Feb 2025 17:08:43 +0000 (02:08 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 11 Feb 2025 10:41:13 +0000 (10:41 +0000)
A downstream kernel for raspberry pi has patch to disabling cgroupv2
memory subsystem.  It cause capability lost for resource controle.
This patch add revert patch for it.

Bug-AGL: SPEC-5345

Change-Id: I7c483acb9fbed2a0b536c8ce6a70ca28390b6370
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30797
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
ci-image-boot-test: Jenkins Job builder account

meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-Revert-cgroup-Disable-cgroup-memory-by-default.patch [new file with mode: 0644]
meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend

diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-Revert-cgroup-Disable-cgroup-memory-by-default.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-Revert-cgroup-Disable-cgroup-memory-by-default.patch
new file mode 100644 (file)
index 0000000..3a0be62
--- /dev/null
@@ -0,0 +1,86 @@
+From eec171e22de23a8bb7321da2bd405a95d4521f92 Mon Sep 17 00:00:00 2001
+From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+Date: Tue, 4 Feb 2025 00:55:36 +0900
+Subject: [PATCH] Revert "cgroup: Disable cgroup "memory" by default"
+
+This reverts commit 94a23e978235cd35f38075072b34152b2b667e6e.
+
+Upstream-Status: Pending
+
+---
+ kernel/cgroup/cgroup.c | 38 --------------------------------------
+ 1 file changed, 38 deletions(-)
+
+diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
+index 5165f5ccd1b4..518725b57200 100644
+--- a/kernel/cgroup/cgroup.c
++++ b/kernel/cgroup/cgroup.c
+@@ -6051,9 +6051,6 @@ int __init cgroup_init_early(void)
+       return 0;
+ }
+-static u16 cgroup_enable_mask __initdata;
+-static int __init cgroup_disable(char *str);
+-
+ /**
+  * cgroup_init - cgroup initialization
+  *
+@@ -6087,12 +6084,6 @@ int __init cgroup_init(void)
+       cgroup_unlock();
+-      /*
+-       * 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 =
+@@ -6733,10 +6724,6 @@ static int __init cgroup_disable(char *str)
+                           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);
+@@ -6755,31 +6742,6 @@ 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;
+-                      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)
+-- 
+2.43.0
+
index ec3fa91..65f760f 100644 (file)
@@ -5,6 +5,7 @@ require recipes-kernel/linux/linux-yocto-agl.inc
 SRC_URI:append = " \
     ${@oe.utils.conditional('USE_FAYTECH_MONITOR', '1', 'file://0002-faytech-fix-rpi.patch', '', d)} \
     file://0001-mconf-menuconfig.patch \
+    file://0001-Revert-cgroup-Disable-cgroup-memory-by-default.patch \
 "
 
 # Enable support for Pi foundation touchscreen