RFR: 8256265: G1: Improve parallelism in regions that failed evacuation
Hamlin Li
mli at openjdk.java.net
Sat Jan 22 04:21:24 UTC 2022
Currently G1 assigns a thread per failed evacuated region. This can in effect serialize the whole process as often (particularly with region pinning) there is only one region to fix up.
This patch tries to improve parallelism when walking over the regions in chunks
Latest implementation scans regions in chunks to bring parallelism, it's based on JDK-8278917 which changes to uses prev bitmap to mark evacuation failure objs.
-------------
Commit messages:
- clean vm options
- sync region preparation before iterate through chunks in a region
- use const G1CMBitMap
- adapt to update_bot_if_crossing_boundary changes
- Merge branch 'master' into parallelize-evac-failure-in-bm
- Merge from master
- Initial commit
Changes: https://git.openjdk.java.net/jdk/pull/7047/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7047&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8256265
Stats: 504 lines in 17 files changed: 461 ins; 17 del; 26 mod
Patch: https://git.openjdk.java.net/jdk/pull/7047.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7047/head:pull/7047
PR: https://git.openjdk.java.net/jdk/pull/7047
More information about the hotspot-gc-dev
mailing list