[SRU][N hwe/6.14][PATCH] Re-enable memcg v1 on Noble (6.14)
Krister Johansen
kjlx at templeofstupid.com
Mon Sep 8 22:25:04 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2122368
[Impact]
Although v1 cgroups are deprecated in Noble, it was still possible for
users on 6.8 kernels to utilize them. This was especially helpful in
helping migrating users to Noble and then separately upgrading their
remaining v1 cgroups applications. Instead of requiring all users to
upgrade and fix their v2 support, v1 support could be provisionally
enabled until the necessary support was available in the applications
that still lack v2 support.
Starting in 6.12, CONFIG_MEMCG_V1 was added and defaulted to false.
Noble 6.8 users that were unlucky enough to still need V1 cgroups found
that they could no longer use memcgs in the 6.14 kernel.
Specific use cases include older JVMs that fail to correctly handle
missing controllers from /proc/cgroups. In that case, the container
limit detection is turned off and the JVM uses the host's limits.
Further, Apache Yarn is still completing their v1 -> v2 migration, which
leaves some Hadoop use cases without proper support.
The request here is to enable MEMCG_V1 on Noble, but not newer releases,
for as long as the Noble HWE kernel train still has kernels with cgroup
v1 support. This gives users a little bit longer to complete their
migration while still using newer hardware, but with the understanding
that this really is the end of the line for v1 cgroups.
[Fix]
Re-enable CONFIG_MEMCG_V1 in the 6.14 Noble config.
[Test]
Booted a kernel with this change and validated that v1 memcgs were
present again.
[Potential Regression]
The regression potential here should be low since this merely restores
and existing feature that most users were not using but that a few still
depended upon.
---
debian.master/config/annotations | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/debian.master/config/annotations b/debian.master/config/annotations
index 82e57baa8559..4c42f845f61d 100644
--- a/debian.master/config/annotations
+++ b/debian.master/config/annotations
@@ -399,6 +399,9 @@ CONFIG_LRU_GEN note<'{Enable multi-gen LRU by d
CONFIG_LRU_GEN_ENABLED policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_LRU_GEN_ENABLED note<'{Enable multi-gen LRU by default - LP: #2023629}'>
+CONFIG_MEMCG_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
+CONFIG_MEMCG_V1 note<'Leave memcg v1 enabled on releases <= noble -- LP: #2122368'>
+
CONFIG_MFD_SM501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}>
CONFIG_MFD_SM501 note<'boot essential on OMAP4'>
@@ -8081,7 +8084,6 @@ CONFIG_MEGARAID_SAS policy<{'amd64': 'm', 'arm64': '
CONFIG_MELLANOX_PLATFORM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}>
CONFIG_MEMBARRIER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_MEMCG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
-CONFIG_MEMCG_V1 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}>
CONFIG_MEMFD_CREATE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_MEMORY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}>
CONFIG_MEMORY_BALLOON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
--
2.43.0
More information about the kernel-team
mailing list