RFR: 8319373: Serial: Refactor dirty cards scanning during Young GC [v9]
Albert Mingkun Yang
ayang at openjdk.org
Thu Nov 16 19:41:07 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 16 additional commits since the last revision:
- 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>
- Update src/hotspot/share/gc/serial/cardTableRS.cpp
Co-authored-by: Thomas Schatzl <59967451+tschatzl at users.noreply.github.com>
- Update src/hotspot/share/gc/serial/cardTableRS.cpp
Co-authored-by: Thomas Schatzl <59967451+tschatzl at users.noreply.github.com>
- Update src/hotspot/share/gc/serial/cardTableRS.cpp
Co-authored-by: Thomas Schatzl <59967451+tschatzl at users.noreply.github.com>
- ... and 6 more: https://git.openjdk.org/jdk/compare/c0fe8d1f...8762a64a
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/16492/files
- new: https://git.openjdk.org/jdk/pull/16492/files/e8b8e0ba..8762a64a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=16492&range=08
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=16492&range=07-08
Stats: 608510 lines in 887 files changed: 81377 ins; 469008 del; 58125 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