RFR: 8343191: Cgroup v1 subsystem fails to set subsystem path [v8]

Jonas duke at openjdk.org
Sat Jan 25 18:49:50 UTC 2025


On Tue, 3 Dec 2024 10:06:39 GMT, Sergey Chernyshev <schernyshev at openjdk.org> wrote:

>> Sergey Chernyshev has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - update cgroup v1 in metrics
>>  - Apply suggestions from code review
>>    
>>    Co-authored-by: Severin Gehwolf <jerboaa at gmail.com>
>>  - updated test (path is reduced)
>
> Here's the summary of the latest state of the PR. The updated code
> - special cases the condition when `_root` is `/`, and `cgroup_path` includes `../`. The condition appears in containers when a process's cgroup is moved to a supergroup. Then the cgroup files are mapped inside the container at the controller's mount point. The reason for this - path adjustment will always fail with cgroup path prefix `../`;
> - calls `stat()` on cgroup path to make sure the directory exists - only when `_root` != `/` and `_root` != `cgroup_path`. This issue is specific to cgroup v1 containers, where /proc/self/cgroup is from host, cgroup files are mapped at controller's mount point, the mapping may include subgroups that need to be walked through to locate the smallest limits ;
> - sets Java Metrics in alignment with hotspot logic ;
> - fixes an NPE in Java Metrics ;
> - fixes an uninitialized path issue in hotspot / cgroup v1 subsystem when `_root` != `/` and `_root` != `cgroup_path`;
> - fixes a logical error with `lowest_limit` in the path adjustment in `CgroupUtil::adjust_controller()` methods ;
> - adds container tests on subgroups in hotspot and metrics.

Hi @sercher and @jerboaa may I ask what the current state of this PR is, because we are waiting for the bug fix?

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

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


More information about the hotspot-runtime-dev mailing list