Skip to content
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

8303013: Always do remembered set verification during G1 Full GC #12781

Conversation

tschatzl
Copy link
Contributor

@tschatzl tschatzl commented Feb 28, 2023

Hi all,

can I have reviews for this change that removes the G1VerifyRSetsDuringFullGC flag because it seems superfluous: if we are doing verification, we likely want to have all subsystems checked; now there is the argument that remset verification is somewhat expensive, and hence the reason for this flag. However I believe that the existing flags to control verification execution (VerifyGCType) are much better than this particular flag.

There is a VerifyRememberedSets flag available that is currently only used in Parallel GC that might be used here to control all remembered set verification; however I believe that if we do verification, we typically want all of it (and it can be toned down by VerifyGCType and friends). If you think it is useful, I can enable G1 to honour VerifyRememberedSets too (with a default of true and obviously only active if other verification is enabled).

Testing: tier1-3

Thanks,
Thomas


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue

Issue

  • JDK-8303013: Always do remembered set verification during G1 Full GC

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/12781/head:pull/12781
$ git checkout pull/12781

Update a local copy of the PR:
$ git checkout pull/12781
$ git pull https://git.openjdk.org/jdk pull/12781/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 12781

View PR using the GUI difftool:
$ git pr show -t 12781

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/12781.diff

@bridgekeeper
Copy link

bridgekeeper bot commented Feb 28, 2023

👋 Welcome back tschatzl! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot changed the title 8303013 8303013: Always do remembered set verification during G1 Full GC Feb 28, 2023
@openjdk openjdk bot added the rfr Pull request is ready for review label Feb 28, 2023
@openjdk
Copy link

openjdk bot commented Feb 28, 2023

@tschatzl The following label will be automatically applied to this pull request:

  • hotspot-gc

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the hotspot-gc hotspot-gc-dev@openjdk.org label Feb 28, 2023
@mlbridge
Copy link

mlbridge bot commented Feb 28, 2023

Webrevs

Copy link
Member

@albertnetymk albertnetymk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VerifyRememberedSets should be removed as well, in another PR.

@openjdk
Copy link

openjdk bot commented Feb 28, 2023

@tschatzl 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:

8303013: Always do remembered set verification during G1 Full GC

Reviewed-by: ayang, iwalulya

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 18 new commits pushed to the master branch:

  • dc5ea6a: 8303350: Fix mistyped {@code}
  • 4a415ad: 8303351: [IR Framework] Add missing cpu feature avx512bw after JDK-8302681
  • 30302d1: 8303250: Call ct_max_alignment_constraint using the base class
  • e144783: 8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls
  • 5feb13b: 8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened
  • 1e3c9fd: 8026369: javac potentially ambiguous overload warning needs an improved scheme
  • 14a014d: 8302124: HotSpot Style Guide should permit noreturn attribute
  • bca60f4: 8303249: JFR: Incorrect description of dumponexit
  • f7f1036: 8303068: Memory leak in DwarfFile::LineNumberProgram::run_line_number_program
  • 784f7b1: 8293667: Align jlink's --compress option with jmod's --compress option
  • ... and 8 more: https://git.openjdk.org/jdk/compare/f2b03f9a2c0fca853211e41a1ddf46195dd56698...master

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 master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Feb 28, 2023
@tschatzl
Copy link
Contributor Author

VerifyRememberedSets should be removed as well, in another PR.

And potentially VerifyObjectStartArray; both could be enabled always (after parallelization) during (Parallel GC) verification.

Copy link
Contributor Author

@tschatzl tschatzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your reviews

/integrate

@openjdk
Copy link

openjdk bot commented Mar 1, 2023

Going to push as commit 4c5d9cf.
Since your change was applied there have been 30 commits pushed to the master branch:

  • 2451c5a: 8303357: [JVMCI] thread is _thread_in_vm when committing JFR compilation event
  • 539a495: 8302798: Refactor -XX:+UseOSErrorReporting for noreturn crash reporting
  • 6b07243: 8301630: C2: 8297933 broke type speculation in some cases
  • 3aeefbf: 8303421: [BACKOUT] 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed.
  • 1fdaf25: 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed.
  • 65da2c5: 8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle
  • 7e47d51: 8282319: java.util.Locale method to stream available Locales
  • 8815175: 8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl
  • a10d5ac: 8303130: Document required Accessibility permissions on macOS
  • 50dc041: 8303227: JniObjWithEnv should be NullablePointer compliant
  • ... and 20 more: https://git.openjdk.org/jdk/compare/f2b03f9a2c0fca853211e41a1ddf46195dd56698...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Mar 1, 2023
@openjdk openjdk bot closed this Mar 1, 2023
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Mar 1, 2023
@openjdk
Copy link

openjdk bot commented Mar 1, 2023

@tschatzl Pushed as commit 4c5d9cf.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@tschatzl tschatzl deleted the submit/8303013-always-verify-remsets-during-fullgc branch March 22, 2023 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot-gc hotspot-gc-dev@openjdk.org integrated Pull request has been integrated
3 participants