RFR: 8302744: Refactor Hotspot container detection code [v6]

Severin Gehwolf sgehwolf at openjdk.org
Tue May 28 16:30:40 UTC 2024


> Please review this container detection code refactoring in hotspot. The main point of this is to
> 
> - get rid of the `GET_CONTAINER_INFO` macros which hide too many things under the hood
> - prevent refactoring of the code (since `GET_CONTAINER_INFO` macros short-return and are therefore not portable; at least not without some risk)
> - make the code easier to understand
> - allow for better testing via `gtest`
> - separate multi-line parsing from single line parsing for clarity.
> 
> Testing:
> - [x] GHA
> - [x] `gtest:cgroupTest` tests
> - [x] Container tests on Linux with cgroup v1 (legacy) and cgroup v2. All pass.
> 
> Thoughts?

Severin Gehwolf has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 22 additional commits since the last revision:

 - Merge branch 'master' into jdk-8302744-cleanup-getcontainer-info
 - Review feedback for the test
 - Make read_string() take the output buffer size
 - Fix style for read_numerical_key_value
 - Use assertions for required parameters
 - Use boolean for tuples
 - Add proper comments for parsing utility functions
 - Add a test for a large string read
 - Add convenience function for 'max' handling
   
   This now makes limit_from_str a private method
 - Fix general read string cases.
 - ... and 12 more: https://git.openjdk.org/jdk/compare/e6334f04...39c74bda

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19060/files
  - new: https://git.openjdk.org/jdk/pull/19060/files/575935f4..39c74bda

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19060&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19060&range=04-05

  Stats: 21258 lines in 586 files changed: 13816 ins; 4141 del; 3301 mod
  Patch: https://git.openjdk.org/jdk/pull/19060.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19060/head:pull/19060

PR: https://git.openjdk.org/jdk/pull/19060


More information about the hotspot-runtime-dev mailing list