RFR: 8311163: Parallel: Improve large object handling during evacuation
Albert Mingkun Yang
ayang at openjdk.org
Thu Aug 29 11:03:20 UTC 2024
On Tue, 27 Aug 2024 00:16:10 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
> Please review this change to ParallelGC young generation collection's handling
> of large objArrays, to now use the infrastructure provided by JDK-8253237 and
> JDK-8337709. (That's the same infrastructure used by G1 young/mixed
> collections.)
>
> Testing: mach5 tier1-5
Marked as reviewed by ayang (Reviewer).
Using another box (AMD), the improvement becomes clear.
## baesline
[0.003s][info][gc] Using Parallel
[1.464s][info][gc] GC(0) Pause Young (Allocation Failure) 512M->344M(1963M) 586.065ms
[2.163s][info][gc] GC(1) Pause Young (Allocation Failure) 857M->853M(2304M) 298.110ms
[8.208s][info][gc] GC(2) Pause Young (Allocation Failure) 1707M->1669M(2689M) 2986.103ms
[9.941s][info][gc] GC(3) Pause Full (Allocation Failure) 2516M->91M(2485M) 38.478ms
## new
[0.002s][info][gc] Using Parallel
[1.325s][info][gc] GC(0) Pause Young (Allocation Failure) 512M->355M(1963M) 415.916ms
[1.791s][info][gc] GC(1) Pause Young (Allocation Failure) 867M->858M(2304M) 212.690ms
[5.663s][info][gc] GC(2) Pause Young (Allocation Failure) 1700M->1669M(2689M) 821.355ms
[7.088s][info][gc] GC(3) Pause Full (Allocation Failure) 2510M->91M(2475M) 32.170ms
> So I don't yet know why the change is so beneficial for GC(2).
With `-Xlog:gc*=debug`, I can see an expansion during GC(2) -- I guess because the expansion operation is synchronous, not having any chunks in the task-queue essentially blocks other workers.
src/hotspot/share/gc/parallel/psPromotionManager.cpp line 323:
> 321: }
> 322:
> 323: void PSPromotionManager::push_objArray(oop old_obj, oop new_obj, size_t obj_size) {
`obj_size` seems unused.
-------------
PR Review: https://git.openjdk.org/jdk/pull/20720#pullrequestreview-2268387400
PR Comment: https://git.openjdk.org/jdk/pull/20720#issuecomment-2317326172
PR Review Comment: https://git.openjdk.org/jdk/pull/20720#discussion_r1735998641
More information about the hotspot-gc-dev
mailing list