[jdk17u-dev] RFR: 8310031: Parallel: Implement better work distribution for large object arrays in old gen
Richard Reingruber
rrich at openjdk.org
Sun Feb 25 09:47:16 UTC 2024
I would like to backport this as a performance bug fix.
We received bug reports from users which have some young pauses of 30s, and even up to 50s (normally <1s) running large Gerrit instances (200GB heap, 100 gc threads).
We have tried to tune ParallelGC. Reducing the number of gc threads helps to make the pause time spikes smaller but this makes average pause times longer.
This pr depends on
https://github.com/openjdk/jdk17u-dev/pull/2226
https://github.com/openjdk/jdk17u-dev/pull/2227
https://github.com/openjdk/jdk17u-dev/pull/2228
All hunks except the following 2 applied after a trivial preparation change.
The 1st hunk of psCardTable.hpp did not apply because of different context. Resolved by inserting the new lines.
The 2nd hunk of psScavenge.cpp did not apply because of different context. Resolved by inserting the new lines.
Finally a few trivial changes are required (renaming and the like).
Risk is medium. We've done the downstream backport already many weeks ago.
I've tested on x86_64:
jdk:tier1 TEST_VM_OPTS="-XX:+UseParallelGC"
langtools:tier1 TEST_VM_OPTS="-XX:+UseParallelGC"
Local CI Testing:
The fix passed our CI testing (e.g. 2024-02-25): JTReg tests: tier1-4 of hotspot and jdk. All of Langtools and jaxp. JCK, SPECjvm2008, SPECjbb2015, Renaissance Suite, and SAP specific tests (also with ParallelGC).
Testing was done with fastdebug builds on the main platforms and also on Linux/PPC64le.
-------------
Depends on: https://git.openjdk.org/jdk17u-dev/pull/2228
Commit messages:
- Fix build
- 8310031: Parallel: Implement better work distribution for large object arrays in old gen
- Prepare
Changes: https://git.openjdk.org/jdk17u-dev/pull/2230/files
Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2230&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8310031
Stats: 334 lines in 5 files changed: 177 ins; 70 del; 87 mod
Patch: https://git.openjdk.org/jdk17u-dev/pull/2230.diff
Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/2230/head:pull/2230
PR: https://git.openjdk.org/jdk17u-dev/pull/2230
More information about the jdk-updates-dev
mailing list