RFR: 8280917: Simplify G1ConcurrentRefineThread activation [v5]
Kim Barrett
kbarrett at openjdk.java.net
Tue Feb 8 09:06:53 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
- Merge branch 'master' into split-crt
- add some description comments
- Merge branch 'master' into split-crt
- fix primary thread notification safepoint check
- update copyrights
- refactor refinement threads
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/7282/files
- new: https://git.openjdk.java.net/jdk/pull/7282/files/5192502c..4051881e
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7282&range=04
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7282&range=03-04
Stats: 4903 lines in 200 files changed: 3634 ins; 733 del; 536 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