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

Ivan Walulya iwalulya at openjdk.org
Wed Aug 30 09:37:45 UTC 2023


> 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

Ivan Walulya has updated the pull request incrementally with three additional commits since the last revision:

 - nit
 - nit
 - Thomas Review

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15482/files
  - new: https://git.openjdk.org/jdk/pull/15482/files/f10d7f89..9dd2572e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15482&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15482&range=00-01

  Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/15482.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15482/head:pull/15482

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


More information about the hotspot-gc-dev mailing list