RFR: JDK-8274249: ZGC: Bulk free empty relocated pages in bulk

王超 github.com+25214855+casparcwang at openjdk.java.net
Fri Sep 24 03:50:09 UTC 2021


Similar to JDK-8255237, bulk free empty relocated pages can amortize the cost of freeing a page and speed up the relocation stage.

The following is the result of specjbb2015 after applying the patch (the tests turn off  the option`UseDynamicNumberOfGCThreads`): the average relocation time speeds up 14%, and the max relocation time speeds up 18%.

patch:
[2021-09-18T13:11:51.736+0800][info][gc,stats    ]       Phase: Concurrent Relocate                           0.000 / 0.000       373.180 / 569.855     275.312 / 569.855     275.312 / 569.855     ms
[2021-09-18T15:30:07.168+0800][info][gc,stats    ]       Phase: Concurrent Relocate                           0.000 / 0.000       381.266 / 577.812     277.272 / 577.812     277.272 / 577.812     ms
[2021-09-18T17:37:56.305+0800][info][gc,stats    ]       Phase: Concurrent Relocate                           0.000 / 0.000       345.037 / 494.135     259.497 / 506.815     259.497 / 506.815     ms


origin:
[2021-09-18T01:01:32.897+0800][info][gc,stats    ]       Phase: Concurrent Relocate                           0.000 / 0.000       429.099 / 662.120     327.213 / 759.723     327.213 / 759.723     ms
[2021-09-18T03:11:10.433+0800][info][gc,stats    ]       Phase: Concurrent Relocate                           0.000 / 0.000       413.014 / 613.035     307.625 / 613.035     307.625 / 613.035     ms
[2021-09-18T05:21:12.743+0800][info][gc,stats    ]       Phase: Concurrent Relocate                           0.000 / 0.000       411.745 / 642.242     308.986 / 642.242     308.986 / 642.242     ms

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

Commit messages:
 - Bulk free in relocate

Changes: https://git.openjdk.java.net/jdk/pull/5670/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5670&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8274249
  Stats: 41 lines in 1 file changed: 40 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5670.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5670/head:pull/5670

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



More information about the hotspot-gc-dev mailing list