8371420: Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104#28735
8371420: Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104#28735MBaesken wants to merge 4 commits intoopenjdk:masterfrom
Conversation
|
👋 Welcome back mbaesken! A progress list of the required criteria for merging this PR into |
|
@MBaesken 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 140 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 |
Webrevs
|
albertnetymk
left a comment
There was a problem hiding this comment.
Looks reasonable. I wonder if it makes sense to extract the loop-body into a method so that the retrying logic are not intertwined with each attempt.
Additionally, there seems a preexisting issue that the else branch of (available > requiredAvailable) should probably also throw SkippedException?
Sorry maybe I miss something - where do you want to see such a SkippedException added ? |
The |
We would continue the for - loop in this case, without a SkippedException. In the original test before this change, we did not throw a SkippedException as well . |
albertnetymk
left a comment
There was a problem hiding this comment.
Some local variables are loop-invariant, e.g. heapSize. I wonder if extracting them out, thus minimizing the loop-body, can make the whole loop more readable. A bit subjective; up to you.
| if (rss == 0) { | ||
| throw new SkippedException("cannot get RSS?"); | ||
| } | ||
| if (available > requiredAvailable) { |
There was a problem hiding this comment.
I'd suggest inverting the condition to "early-throw" for uninteresting cases, like above.
There was a problem hiding this comment.
I agree. Having both skip cases together makes the code better readable and avoids an extra level of curly braces.
There was a problem hiding this comment.
Makes sense, I adjusted the coding.
|
Thanks for the reviews ! /integrate |
|
Going to push as commit dca55b4.
Your commit was automatically rebased without conflicts. |
After JDK-8359104 where getting RSS was improved, we still see sporadic failures of the test gc/TestAlwaysPreTouchBehavior.java# , for different gcs.
E.g. gc/TestAlwaysPreTouchBehavior.java#Epsilon (with -Xlog:os=debug added for more output)
Looks like the RSS values we get are somewhat delayed/inaccurate .
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/28735/head:pull/28735$ git checkout pull/28735Update a local copy of the PR:
$ git checkout pull/28735$ git pull https://git.openjdk.org/jdk.git pull/28735/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 28735View PR using the GUI difftool:
$ git pr show -t 28735Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/28735.diff
Using Webrev
Link to Webrev Comment