RFR: 8296419: [REDO] JDK-8295319: pending_cards_at_gc_start doesn't include cards in thread buffers [v2]

Kim Barrett kbarrett at openjdk.org
Tue Nov 22 22:58:22 UTC 2022


On Tue, 22 Nov 2022 09:18:58 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Kim Barrett 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 six additional commits since the last revision:
>> 
>>  - fix usage of _preserved_marks_set
>>  - rearrange pre-evacuation
>>  - Merge branch 'master' into cards-in-thread-buffers
>>  - retire tlabs before processing thread dcq
>>  - verify empty dirty card logs
>>  - Revert "8296414: [BACKOUT] JDK-8295319: pending_cards_at_gc_start doesn't include cards in thread buffers"
>>    
>>    This reverts commit b847fb687735ae5dff56d12d221556a5218b5bba.
>
> src/hotspot/share/gc/g1/g1YoungCollector.cpp line 505:
> 
>> 503: 
>> 504: void G1YoungCollector::pre_evacuate_collection_set(G1EvacInfo* evacuation_info) {
>> 505:   // Flush early, so later phases don't need to account for per-thread stuff.
> 
> I think this one is duplicate from the comment to `concatenate_dirty_card_logs`.

It was intentional, as it's useful to deal with TLABs early for the same reason as the DCQs.  The 2nd line of the comment is about the respective ordering of these two early "flushes".  (The plan of merging these into a single pass over the threads will render the duplicate comment question moot.)

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

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


More information about the hotspot-gc-dev mailing list