RFR: 8295118: G1: Clear CLD claim marks concurrently
Stefan Johansson
sjohanss at openjdk.org
Tue Oct 25 08:11:17 UTC 2022
On Wed, 12 Oct 2022 12:49:42 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
> Hi all,
>
> can I have reviews for this change that moves out clearing CLD marks from the concurrent start pause to the concurrent phase?
>
> The idea is that instead of clearing CLD marks just before marking through, clear the marks at the end of the concurrent phases (or at the end of the full gc) so that after that operation marks are reset.
>
> I believe that one can save one of the `ClassLoaderDataGraph::clear_claimed_marks` in full gc by using different claim values (we need the one at the beginning and the end though), but the overhead of that should be minimal compared to actual full gc time.
>
> Testing: tier1-5
Looks good, just a comment/question on where to do this in the full GC.
src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp line 125:
> 123: _claimer(collector->workers()) {
> 124: // Need cleared claim bits for the next concurrent marking.
> 125: ClassLoaderDataGraph::clear_claimed_marks();
Is there a good reason to do the clearing here instead of in `void G1FullCollector::complete_collection()`?
-------------
Changes requested by sjohanss (Reviewer).
PR: https://git.openjdk.org/jdk/pull/10675
More information about the hotspot-dev
mailing list