RFR: 8280917: Simplify G1ConcurrentRefineThread activation [v3]
Ivan Walulya
iwalulya at openjdk.java.net
Thu Feb 3 09:45:07 UTC 2022
On Wed, 2 Feb 2022 00:27:40 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> 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:
>
> fix primary thread notification safepoint check
Lgtm!
-------------
Marked as reviewed by iwalulya (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7282
More information about the hotspot-gc-dev
mailing list