RFR: 8278146: G1: Rework VM_G1Concurrent VMOp to clearly identify it as pause
Aleksey Shipilev
shade at openjdk.java.net
Thu Dec 2 18:32:37 UTC 2021
Our support engineers asked this:
> I see these G1Concurrent safepoints in JDK17:
> [0.064s][info][safepoint ] Safepoint "G1Concurrent", Time since last: 1666947 ns, Reaching
safepoint: 79150 ns, At safepoint: 349999 ns, Total: 429149 ns
> I've always thought that "concurrent" and "safepoint" are basically antonyms.
> What is a G1Concurrent safepoint? How can a concurrent event require a safepoint?
I agree that's confusing. This patch splits the VM_G1Concurrent into two exactly named VMOp-s, so that we get:
[6.527s][info][gc ] GC(7) Pause Remark 64M->64M(224M) 218.847ms
[6.527s][info][safepoint] Safepoint "G1PauseRemark", Time since last: 17493991 ns, Reaching safepoint: 506830 ns, At safepoint: 218950374 ns, Total: 219457204 ns
[6.536s][info][gc ] GC(7) Pause Cleanup 71M->71M(224M) 0.177ms
[6.536s][info][safepoint] Safepoint "G1PauseCleanup", Time since last: 8250157 ns, Reaching safepoint: 884967 ns, At safepoint: 223964 ns, Total: 1108931 ns
[6.537s][info][gc ] GC(7) Concurrent Mark Cycle 247.051ms
Additional testing:
- [x] Linux x86_64 fastdebug `tier1`
-------------
Commit messages:
- Whitespace and touchups
- Basic implementation
Changes: https://git.openjdk.java.net/jdk/pull/6677/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6677&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8278146
Stats: 69 lines in 4 files changed: 33 ins; 27 del; 9 mod
Patch: https://git.openjdk.java.net/jdk/pull/6677.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/6677/head:pull/6677
PR: https://git.openjdk.java.net/jdk/pull/6677
More information about the hotspot-dev
mailing list