RFR: 8280917: Simplify G1ConcurrentRefineThread activation [v2]

Kim Barrett kbarrett at openjdk.java.net
Tue Feb 1 07:12:36 UTC 2022


> Please review this change to to G1ConcurrentRefineThreads to simplify the
> activation mechanism.
> 
> We split the class into two subclasses, one for the "primary" refinement
> thread and another class for the remaining refinement threads.
> 
> The secondary threads are changed to use Monitor-based waits and notifications
> with a supporting request flag.
> 
> The primary thread uses an atomic activation threshold that also serves as "is
> running" state.  This activation threshold is used by the write barrier
> support to determine whether the thread's semaphore needs to be signaled.
> That threshold is now in the primary refinement thread rather than in the
> dirty card queue set to simplify threshold management and somewhat reduce
> coupling.
> 
> Testing:
> mach5 tier1-3
> 
> Manual tests with refinement thread logging enabled to verify expected
> activations occur.

Kim Barrett has updated the pull request incrementally with one additional commit since the last revision:

  update copyrights

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7282/files
  - new: https://git.openjdk.java.net/jdk/pull/7282/files/b72cf4fd..ba3f9a46

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7282&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7282&range=00-01

  Stats: 5 lines in 5 files changed: 0 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7282.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7282/head:pull/7282

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



More information about the hotspot-gc-dev mailing list