RFR: 8337709: Use allocated states for chunking large array processing
Kim Barrett
kbarrett at openjdk.org
Sun Aug 11 18:27:35 UTC 2024
On Wed, 7 Aug 2024 08:18:50 GMT, Ivan Walulya <iwalulya at openjdk.org> wrote:
>> Please review this change to the G1 young/mixed collector to use allocated
>> states to encode partial array task chunking.
>>
>> States are allocated from per-worker-thread arena+free-list pairs, and
>> released to the free-list for the worker that completed use. They are
>> refcounted to track the number of refering tasks.
>>
>> Various other approaches (such as a single arena+FreeListAllocator) were
>> tested, but found to have worse performance, though in some cases fewer
>> allocations. The per-worker arena+free-list pair was the only option that
>> didn't show a regression compared to the previous PartialArrayScanTask
>> approach on a stress test.
>>
>> In addition to the changes to ScannerTask to support the new
>> PartialArrayState, it temporarily continues to support PartialArrayScanTask.
>> This is because ParallelGC will continue to use the latter until it is changed
>> to use PartialArrayState. The intent is to update ParallelGC in a followup CR.
>>
>> Testing:
>> mach5 tier1-5
>> G1 performance suite
>
> LGTM!
>
> Was there any observable impact on G1 performance suite?
Thanks for reviews @walulyai and @tschatzl
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20445#issuecomment-2282846972
More information about the hotspot-gc-dev
mailing list