RFR: 8301116: Parallelize TLAB resizing in G1 [v3]

Thomas Schatzl tschatzl at openjdk.org
Mon Feb 6 10:19:40 UTC 2023


> Hi all,
> 
>   can I get reviews for this change that moves TLAB resizing into the second parallel post evacuation phase?
> 
> The change is fairly straightforward except maybe for the following:
> * there is a new claimer for `JavaThreads` because the `Threads::possibly_parallel_threads_do` method to parallelize does not work well with very little per-thread work. Actually with a moderate amount of threads (~20) performance would already be many times slower than doing things serially.
> * moving the TLAB resizing out of `G1CollectedHeap::prepare_tlabs_for_mutator` made that method and the enclosing timing a bit obsolete, so I repurposed it as a "do preparatory work for the mutator during young gc" phase. That resulted in minor cleanup and regularization of what is done during that phase (wrt to what the corresponding method for full gc does).
> 
> Testing: gha, local perf testing, tier1
> 
> Thanks,
>   Thomas

Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:

  Improve claimer

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12360/files
  - new: https://git.openjdk.org/jdk/pull/12360/files/6bff3cc1..82a0cc57

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

  Stats: 27 lines in 3 files changed: 17 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/12360.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12360/head:pull/12360

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


More information about the hotspot-gc-dev mailing list