On Mon, 11 Nov 2024 10:20:02 GMT, Severin Gehwolf <sgehw...@openjdk.org> wrote:

> > In the above script, a containerized process (/bin/sh) is moved to cgroup 
> > /test before /jdk/bin/java gets executed. Java inherits cgroup /test from 
> > its parent process, its _root will be /docker/<CONTAINER_ID>, cgroup_path 
> > will be /test.
>
> OK, but why is https://bugs.openjdk.org/browse/JDK-8322420 not in effect in 
> such a case?

Answering my own question. Because the `set_subsystem_path()` function for cg 
v1 in this unusual setup returns `null`.


[0.001s][trace][os,container] OSContainer::init: Initializing Container Support
[0.001s][debug][os,container] Detected optional pids controller entry in 
/proc/cgroups
[0.002s][debug][os,container] Detected cgroups hybrid or legacy hierarchy, 
using cgroups v1 controllers
[0.002s][trace][os,container] Adjusting controller path for memory: (null)
[0.002s][debug][os,container] read_string: subsystem path is null
[0.002s][trace][os,container] Memory Limit failed: -2
[0.002s][debug][os,container] read_string: subsystem path is null
[0.002s][trace][os,container] Memory Limit failed: -2
[0.002s][trace][os,container] No lower limit found for memory in hierarchy 
/sys/fs/cgroup/memory, adjusting to original path /test
[0.002s][debug][os,container] OSContainer::init: is_containerized() = true 
because all controllers are mounted read-only (container case)
[0.003s][trace][os,container] Path to /cpu.cfs_quota_us is 
/sys/fs/cgroup/cpu,cpuacct/cpu.cfs_quota_us
[0.003s][trace][os,container] CPU Quota is: -1
[0.003s][trace][os,container] Path to /cpu.cfs_period_us is 
/sys/fs/cgroup/cpu,cpuacct/cpu.cfs_period_us
[0.003s][trace][os,container] CPU Period is: 100000
[0.003s][trace][os,container] OSContainer::active_processor_count: 12
[0.003s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 
12
[0.003s][trace][os,container] total physical memory: 67163226112
[0.003s][debug][os,container] read_string: subsystem path is null
[0.003s][trace][os,container] Memory Limit failed: -2
[0.005s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 
12
[0.021s][trace][os,container] CgroupSubsystem::active_processor_count (cached): 
12
openjdk 24-internal 2025-03-18
OpenJDK Runtime Environment (build 24-internal-adhoc.sgehwolf.jdk-jdk)
OpenJDK 64-Bit Server VM (build 24-internal-adhoc.sgehwolf.jdk-jdk, mixed mode, 
sharing)


On cg v2, on the other hand, `set_subsystem_path()` will never set the path to 
a `null` value.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/21808#issuecomment-2468417142

Reply via email to