RFR: Balance without cancel
Kelvin Nilsen
kdnilsen at openjdk.java.net
Thu Apr 28 16:28:02 UTC 2022
This commit does load balancing on remembered set scanning that happens during concurrent marking and during concurrent updating of references. Experiments show that the concurrency of remembered set marking is now much closer to the number of concurrent GC threads (generally within 5%) whereas before this commit, the level of concurrency was often less than 1/4 of the number of concurrent GC threads.
An additional fix integrated in this commit is to not scan the entirety of humongous object arrays. We only scan the portions of these arrays that overlay with dirty cards in the remembered set.
-------------
Commit messages:
- Fix whitespace errors
- Merge remote-tracking branch 'GitFarmBranch/balance-without-cancel' into balance-without-cancel
- Remove instrumentation
- Fix up miscalculations for memory loaned from old-gen
- Fix assertion error
- Only clear requested gc cause when it is handled
- Use state from collection set to know if mixed collection is in progress
- Fix concurrent mark worker timings
- Include mark worker performance in report for concurrent mark phase
- Improved timing reports
- ... and 27 more: https://git.openjdk.java.net/shenandoah/compare/bdd7667a...98be07c7
Changes: https://git.openjdk.java.net/shenandoah/pull/136/files
Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=136&range=00
Stats: 1487 lines in 23 files changed: 984 ins; 286 del; 217 mod
Patch: https://git.openjdk.java.net/shenandoah/pull/136.diff
Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/136/head:pull/136
PR: https://git.openjdk.java.net/shenandoah/pull/136
More information about the shenandoah-dev
mailing list