RFR: 8337267: [REDO] G1: Refactor G1RebuildRSAndScrubTask

Guoxiong Li gli at openjdk.org
Mon Jul 29 10:35:34 UTC 2024


On Fri, 26 Jul 2024 10:09:52 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

> The first commit is the original and the second commit fixes the issue, `should_rebuild_or_scrub` should be unconditional because `yield_if_necessary` is called on two diff levels, per-obj and per-obj-chunk. `yield_if_necessary` should return the same value for the same region in two consecutive invocations.
> 
> Test: tier1-6, 500 successful runs of gc/logging/TestUnifiedLoggingSwitchStress.java, with 4/100 failing rate without the second commit.

Looks good.

src/hotspot/share/gc/g1/g1ConcurrentRebuildAndScrub.cpp line 102:

> 100:         }
> 101:       }
> 102:       return _cm->has_aborted() || !should_rebuild_or_scrub(hr);

If I don't miss anything, this is the difference between the previous patch and this one.

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

Marked as reviewed by gli (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20348#pullrequestreview-2204557067
PR Review Comment: https://git.openjdk.org/jdk/pull/20348#discussion_r1694985489


More information about the hotspot-gc-dev mailing list