RFR: JDK-8263579: ZGC concurrent mark hangs with debug loglevel

王超 github.com+25214855+casparcwang at openjdk.java.net
Mon Mar 15 12:29:25 UTC 2021


Do not leave terminate stage 1 when there is nothing to do. This helps eliminate the concurrent mark hang with debug log level, and reduce total mark time without impact the performance.

The following is the performance data of specjbb2015 with stressed zgc:
Current patch:
RUN RESULT: hbIR (max attempted) = 122581, hbIR (settled) = 102168, max-jOPS = 104194, critical-jOPS = 90630
[2021-03-12T17:20:37.072+0800][info ][gc,stats       ]       Phase: Concurrent Mark                             383.026 / 383.026    1222.317 / 1811.813    766.530 / 1811.813    766.530 / 1811.813    ms

RUN RESULT: hbIR (max attempted) = 118234, hbIR (settled) = 108389, max-jOPS = 102864, critical-jOPS = 93572
[2021-03-12T19:28:01.032+0800][info ][gc,stats       ]       Phase: Concurrent Mark                             407.483 / 407.483    1243.775 / 1773.463    756.956 / 1773.463    756.956 / 1773.463    ms

RUN RESULT: hbIR (max attempted) = 111999, hbIR (settled) = 110683, max-jOPS = 104159, critical-jOPS = 92600
[2021-03-12T21:48:09.729+0800][info ][gc,stats       ]       Phase: Concurrent Mark                             412.954 / 412.954    1216.900 / 1927.552    762.315 / 1927.552    762.315 / 1927.552    ms


Original:
RUN RESULT: hbIR (max attempted) = 122581, hbIR (settled) = 109863, max-jOPS = 102968, critical-jOPS = 90836
[2021-03-13T01:59:35.160+0800][info ][gc,stats       ]       Phase: Concurrent Mark                             414.845 / 414.845    1168.357 / 1817.015    795.806 / 1837.452    795.806 / 1837.452    ms

RUN RESULT: hbIR (max attempted) = 122581, hbIR (settled) = 102168, max-jOPS = 102968, critical-jOPS = 89227
[2021-03-12T23:49:17.322+0800][info ][gc,stats       ]       Phase: Concurrent Mark                             405.709 / 405.709    1250.672 / 1724.725    783.993 / 1739.099    783.993 / 1739.099    ms

RUN RESULT: hbIR (max attempted) = 102168, hbIR (settled) = 85156, max-jOPS = 104211, critical-jOPS = 91693
[2021-03-13T04:22:14.338+0800][info ][gc,stats       ]       Phase: Concurrent Mark                             415.444 / 415.444    1254.256 / 1896.037    768.536 / 1896.037    768.536 / 1896.037    ms

-------------

Commit messages:
 - JDK-8263579: ZGC concurrent mark hangs with debug loglevel

Changes: https://git.openjdk.java.net/jdk/pull/3011/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3011&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263579
  Stats: 13 lines in 4 files changed: 10 ins; 1 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3011.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3011/head:pull/3011

PR: https://git.openjdk.java.net/jdk/pull/3011



More information about the hotspot-gc-dev mailing list