From afd286f6d64e8f6194bf1fd7fc95c4199f585979 Mon Sep 17 00:00:00 2001 From: Zvonko Kaiser Date: Wed, 22 Jan 2025 21:54:47 +0000 Subject: [PATCH] agent: Ensure proper cgroupsV2 with init_mode=yes When the agent is run as the init process cgroupfs is being setup. In the case of cgroupsV1 we needed to enable the memory hiearchy this is now per default enabled in cgroupsV2. Additionally the file /sys/fs/cgroup/memory/memory.use_hierarchy isn't even available with V2. Signed-off-by: Zvonko Kaiser --- src/agent/src/mount.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/agent/src/mount.rs b/src/agent/src/mount.rs index 6836087a9c..018e0a071b 100644 --- a/src/agent/src/mount.rs +++ b/src/agent/src/mount.rs @@ -299,7 +299,13 @@ pub fn cgroups_mount(logger: &Logger, unified_cgroup_hierarchy: bool) -> Result< // Enable memory hierarchical account. // For more information see https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt - online_device("/sys/fs/cgroup/memory/memory.use_hierarchy") + // cgroupsV2 will automatically enable memory.use_hierarchy. + // additinoally this directory layout is not present in cgroupsV2. + if !unified_cgroup_hierarchy { + return online_device("/sys/fs/cgroup/memory/memory.use_hierarchy"); + } + + Ok(()) } #[instrument]