RFR: 8271163: G1 uses wrong degree of MT processing since JDK-8270169

Thomas Schatzl tschatzl at openjdk.java.net
Fri Jul 23 11:44:20 UTC 2021

Hi all,

  JDK-8270169 changed the amount of resources supplied by the CM reference processor, assuming that the CM ref processor is only ever used with the marking threads.
This is unfortunately not true, the CM reference processor is also used by the Remark pause for discovery using the parallel gc worker threads.

This causes crashes because of the code assuming single threaded operation while it is not.

The solution proposed here is to just revert JDK-8270169 which introduced  that change. Applies cleanly.

I also added a comment in the reference processor constructor to why we need to consider both thread counts.



Commit messages:
 - Revert 7d2825e4219671bdaef6586864afecbca7b33e48 and comment why

Changes: https://git.openjdk.java.net/jdk/pull/4888/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4888&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8271163
  Stats: 6 lines in 2 files changed: 3 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4888.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4888/head:pull/4888

PR: https://git.openjdk.java.net/jdk/pull/4888

More information about the hotspot-gc-dev mailing list