New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8230305: Cgroups v2: Container awareness #127
Conversation
👋 Welcome back jdowland! A progress list of the required criteria for merging this PR into |
This backport pull request has now been updated with issue and summary from the original commit. |
Webrevs
|
Local test failure observed in runtime/containers/docker/TestMemoryAwareness.java:
this might be JDK-8253714, which is on the list to backport, I'll look at this next. |
d76d21d
to
d217ab9
Compare
@jmtd Please do not rebase or force-push to an active PR as it invalidates existing review comments. All changes will be squashed into a single commit automatically when integrating. See OpenJDK Developers’ Guide for more information. |
@jmtd Any particular reason this PR depends on the Metrics PR? In JDK 11u and JDK head this was the first one of the cg v2 patch series. If you agree, please drop the dependency, targeting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems promising, thanks. Please use explicit parenthesis for PrintContainerInfo
log lines throughout. Also with a space before and after the if
. We need to account for https://bugs.openjdk.org/browse/JDK-8227006 (which is in 8u) and https://bugs.openjdk.org/browse/JDK-8232207 (not currently in 8u), though. This patch would include both.
I collapsed the patch dependency tree into a linear list, and as a consequence some patches have GitHub PR dependencies which are artificial. This one (depending on 8231111 (pr/121)) is an example; it's because the downstream bug 8253714 (pr/130) depends on both. I could flip the artifical dependency around, and make 8231111 (metrics, pr/121) depend on this (8230305, pr/127) instead (and follow that change down the chain). Would you prefer that? |
Yes, please. That's matching how patches got integrated in JDK head and JDK 11 updates. |
Sure! I'm assuming you mean spaces and braces like this
(although I'm not sure what you mean by spaces before the |
/issue add JDK-8216366 |
@jmtd |
/issue add JDK-8229202 |
@jmtd |
/issue add JDK-8232207 @jerboaa , if you disagree with adding this issue and want it backed out afterall, please let me know! |
@jmtd |
e6fcc66
to
6947cdb
Compare
As discussed, and now that all open review notes were addressed, I've re-parented this PR onto master. |
@jmtd Please do not rebase or force-push to an active PR as it invalidates existing review comments. All changes will be squashed into a single commit automatically when integrating. See OpenJDK Developers’ Guide for more information. |
After reparenting this PR to master last night, I've inadvertently pulled in the commits from the previous base (PR for 8231111). I'm working on filtering them out now. |
Implement Cgroups v2 container awareness in hotspot Reviewed-by: bobv, dholmes
Remove includes of log.hpp that doesn't exist in jdk8u log_(debug|trace) to tty->print_cr guarded by PrintContainerInfo
os::strerror was introduced in 8148425 (strerror() function is not thread-safe), which is probably out of scope for backporting (at least as part of this cgroups v2 effort). Replace uses of os::strerror with (thread unsafe) strerror, in common with the rest of JDK8u.
This causes issues with pre-C++11 compilers (of which jdk8u-dev ostensibly supports). Issue has materialised on ARM32. I haven't introduced initialiser lists to the constructor because all of these are assigned to in the body of the constructor.
6947cdb
to
198cd27
Compare
@jmtd Please do not rebase or force-push to an active PR as it invalidates existing review comments. All changes will be squashed into a single commit automatically when integrating. See OpenJDK Developers’ Guide for more information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems fine now.
@jmtd This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 28 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
/issue add 8254997 This PR has most of 8232207 in it, so we added that issue. 8232207 originally added a line in osContainer_linux.hpp which was later removed in 8254997. This PR does not add the line, so we address 8254997 at the same time. |
@jmtd |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backport looks good. It's not clear to me why JDK-8254997 needed to be bundled into this change rather than a follow-up, but it's not worth changing now.
Approved for 8u.
/integrate |
Going to push as commit 7eb2803.
Your commit was automatically rebased without conflicts. |
This is a backport of 8230305 (Cgroups v2: Container awareness) for JDK8u, working from the jdk11u-dev backport as part of an effort to backport cgroups v2 to jdk8u-dev.
The patch does not apply clean after unshuffling and path fixing:
A few other changes were made
patch touched hotspot/test/runtime/containers/docker/TestCPUAwareness.java which passes afterwards; I'm running further tests now (and awaiting GitHub CI doing the same)
Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk8u-dev pull/127/head:pull/127
$ git checkout pull/127
Update a local copy of the PR:
$ git checkout pull/127
$ git pull https://git.openjdk.org/jdk8u-dev pull/127/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 127
View PR using the GUI difftool:
$ git pr show -t 127
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk8u-dev/pull/127.diff