RFR: 8319373: Serial: Refactor dirty cards scanning during Young GC [v11]

Albert Mingkun Yang ayang at openjdk.org
Mon Nov 20 20:35:49 UTC 2023


> Reading the new code directly is probably easier. The structure is quite similar to its counterpart in Parallel.
> 
> It's mostly perf-neutral, except when dirty cards are scarce. Using `card_scan.java` in [JDK-8310031](https://bugs.openjdk.org/browse/JDK-8310031), I observed ~40% reduction in young-gc pause time with `stride = 32 * 64`.

Albert Mingkun Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 19 additional commits since the last revision:

 - Merge branch 'master' into s1-young-gc
 - review
 - review
 - Merge branch 'master' into s1-young-gc
 - review
 - next-obj-card
 - review
 - Merge branch 'master' into s1-young-gc
 - review
 - Update src/hotspot/share/gc/serial/cardTableRS.cpp
   
   Co-authored-by: Thomas Schatzl <59967451+tschatzl at users.noreply.github.com>
 - ... and 9 more: https://git.openjdk.org/jdk/compare/5906bea1...aeae83cd

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16492/files
  - new: https://git.openjdk.org/jdk/pull/16492/files/c5c7e181..aeae83cd

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16492&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16492&range=09-10

  Stats: 7520 lines in 191 files changed: 3523 ins; 1342 del; 2655 mod
  Patch: https://git.openjdk.org/jdk/pull/16492.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16492/head:pull/16492

PR: https://git.openjdk.org/jdk/pull/16492


More information about the hotspot-gc-dev mailing list