RFR: JDK-8274249: ZGC: Bulk free empty relocated pages [v5]

王超 duke at openjdk.java.net
Tue Nov 9 11:33:58 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

王超 has updated the pull request incrementally with one additional commit since the last revision:

  Use dynamic allocated array instead of static variable

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5670/files
  - new: https://git.openjdk.java.net/jdk/pull/5670/files/8961636f..d20be12b

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5670&range=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5670&range=03-04

  Stats: 8 lines in 1 file changed: 4 ins; 1 del; 3 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