RFR: 8337709: Use allocated states for chunking large array processing
Thomas Schatzl
tschatzl at openjdk.org
Fri Aug 9 09:43:32 UTC 2024
On Fri, 2 Aug 2024 19:36:47 GMT, Kim Barrett <kbarrett 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
Marked as reviewed by tschatzl (Reviewer).
-------------
PR Review: https://git.openjdk.org/jdk/pull/20445#pullrequestreview-2229794656
More information about the hotspot-gc-dev
mailing list