-
Enhancement
-
Resolution: Fixed
-
P4
-
17, 21, 24
-
b11
At the end of Shenandoah concurrent mark, we try to terminate the mark by handshaking all threads and requesting them to flush their SATB buffers: https://github.com/openjdk/jdk/blob/35df48e1b321d16f44ba924065143af67143cf95/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp#L218-L220
This handshake might have an effect on tail latencies for application threads. We would definitely like to see more logging around these ops to be able to correlate latencies with termination attempts. Something like log_info(gc,phases) would suffice for logging.
Wrapping the handshake with counters, like we do other handshakes would also be helpful:
https://github.com/openjdk/jdk/blob/35df48e1b321d16f44ba924065143af67143cf95/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp#L832
This handshake might have an effect on tail latencies for application threads. We would definitely like to see more logging around these ops to be able to correlate latencies with termination attempts. Something like log_info(gc,phases) would suffice for logging.
Wrapping the handshake with counters, like we do other handshakes would also be helpful:
https://github.com/openjdk/jdk/blob/35df48e1b321d16f44ba924065143af67143cf95/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp#L832
- links to
-
Commit(master) openjdk/jdk/90527a57
-
Commit(master) openjdk/shenandoah-jdk21u/520fb4ef
-
Review(master) openjdk/jdk/20318
-
Review(master) openjdk/shenandoah-jdk21u/126