8212084: G1: Implement UseGCOverheadLimit#2682
8212084: G1: Implement UseGCOverheadLimit#2682marschall wants to merge 6 commits intoopenjdk:masterfrom
Conversation
|
👋 Welcome back marschall! A progress list of the required criteria for merging this PR into |
|
@marschall This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. 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 178 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. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@phohensee, @reinrich) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
|
This backport pull request has now been updated with the original issue, but not the original commit. If you have the original commit hash, please update the pull request title with |
Webrevs
|
phohensee
left a comment
There was a problem hiding this comment.
Please remove the copyright date updates from the updated files. For backports, only use copyright date updates that are in the original commit. Other than that, lgtm.
|
Can do. I assume adding a revert commit rather than a reset and force push. Will the JIRA be created automatically? I do not have access to JBS. |
|
With a change like this, I would also ask the original authors for reviews. |
|
You can just add a commit to revert the copyright updates to your fork, and then push. The upstream commit bot will squash commits to your fork. |
|
Also, please enable GHA testing on your fork. |
|
@tschatzl, would you pls review? |
This reverts commit 910f34d.
|
I reverted the copyright year changes and enabled tests on my fork. Can I trigger the tests or do some of you have to do this? |
|
You can push a commit to trigger the checks, or trigger them manually (upper right of the Actions page). |
reinrich
left a comment
There was a problem hiding this comment.
Changes look good to me.
Cheers, Richard.
|
|
|
/approval |
|
@marschall usage: |
|
/approval request |
|
@marschall |
|
HI @marschall |
|
@GoeLin very well, I’m on vacation right now. I’ll cancel the request for now and reopen with a comment once I’m back. |
|
/approval cancel |
|
@marschall |
|
Hi @marschall |
|
/template append |
|
@marschall The pull request template has been appended to the pull request body |
Backport JDK-8212084 to JDK-21.
I am new to backporting JDK fixes. I have contributed small fixes to OpenJDK upstream in the past but this is my first backport, so any help is appreciated, especially as I do not have JBS access.
JDK-8212084 has been backported to OpenJDK 25 in JDK-8374125. So far it has only made it into the Oracle versions of JDK 21 and JDK 17. I believe this confirms that backporting JDK-8212084 provides value with acceptable risk.
Why am I backporting this? We are using G1 on OpenJDK 21 and are observing an issue that we believe is caused by GC overhead (high CPU usage on all cores, application becomes unresponsive and is eventually terminated due to failing liveness probes). Unfortunately we do not yet have the tools in place to confirm this, although we are working on this. With UseGCOverheadLimit the application would terminate earlier with a clear error message and we could make use of HeapDumpOnOutOfMemoryError for diagnosing.
I split this PR into 5 commits for easier reviewing:
I ran both the tier1 and tier2 test suites, the both pass, specifically TestUseGCOverheadLimit.
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/2682/head:pull/2682$ git checkout pull/2682Update a local copy of the PR:
$ git checkout pull/2682$ git pull https://git.openjdk.org/jdk21u-dev.git pull/2682/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2682View PR using the GUI difftool:
$ git pr show -t 2682Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/2682.diff
Using Webrev
Link to Webrev Comment