RFR: 8240556: Abort concurrent mark after effective eager reclamation of humongous objects
Thomas Schatzl
tschatzl at openjdk.java.net
Wed Sep 16 16:05:06 UTC 2020
Hi all,
please review this change that implements concurrent mark abort as proposed by Liang Mao from Alibaba.
Basically, if at the end of the concurrent start pause we notice that we went below the IHOP threshold (and it has been
a concurrent start pause caused by humongous allocation), instead of scheduling a mark operation, we schedule a
"concurrent undo" operation that undoes the changes.
Regarding the removal of the test/hotspot/jtreg/gc/stress/jfr/TestStressBigAllocationGCEventsWithG1.java test: it only
ever accidentally worked in G1. G1 never sent the AllocationRequiringGC events for GCs caused by going over the IHOP
threshold for humongous allocations that the test actually expects.
That test previously only worked because G1 could not reclaim the humongous objects fast enough so crossing the IHOP
threshold causes a full concurrent mark. Allocations during that concurrent mark do not cause a GC that can reclaim
these objects, so ultimately some young GC that sends the AllocationRequiringGC event will be sent.
With concurrent undo this is not guaranteed any more, i.e. only in environments where concurrent undo is slow (and
we'll improve it soon) this test works.
The test is too timing dependent, and checking for the wrong thing in this case, so removing it.
Testing: tbd.
-------------
Commit messages:
- Remove test that only accidentally worked: G1 never sent the AllocationRequiringGC
- Fixed test
- Initial import
Changes: https://git.openjdk.java.net/jdk/pull/177/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=177&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8240556
Stats: 336 lines in 12 files changed: 216 ins; 66 del; 54 mod
Patch: https://git.openjdk.java.net/jdk/pull/177.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/177/head:pull/177
PR: https://git.openjdk.java.net/jdk/pull/177
More information about the hotspot-dev
mailing list