Integrated: 8315219: G1: Improve allocator pathological case where it keeps doing direct allocations instead of retiring a PLAB

Ivan Walulya iwalulya at openjdk.org
Thu Aug 31 08:08:14 UTC 2023


On Wed, 30 Aug 2023 08:25:15 GMT, Ivan Walulya <iwalulya at openjdk.org> wrote:

> Hi all,
> 
> Please review this change to improve on how G1 deals with ParallelGCBufferWastePct. Currently, any allocations larger than  ParallelGCBufferWastePct of the current PLAB size are allocated directly without regard for the state of the current PLAB.  This creates a pathological case where fully used up PLAB are not retired given that allocation sizes larger than ParallelGCBufferWastePct current PLAB.
> 
> In this change, we directly check whether the current PLAB can be retired i.e. the remaining PLAB space is < ParallelGCBufferWastePct of current PLAB size. This should reduce the number of direct allocations.
> 
> Testing: - mach5 Tier 1-6
>               - No regression was observed on perf benchmarks

This pull request has now been integrated.

Changeset: 47aa6f3a
Author:    Ivan Walulya <iwalulya at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/47aa6f3a65559d8143511561ac9d18cfb133263e
Stats:     23 lines in 2 files changed: 8 ins; 6 del; 9 mod

8315219: G1: Improve allocator pathological case where it keeps doing direct allocations instead of retiring a PLAB

Reviewed-by: tschatzl, ayang, mli

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

PR: https://git.openjdk.org/jdk/pull/15482


More information about the hotspot-gc-dev mailing list