RFR: 8137022: Concurrent refinement thread adjustment and (de-)activation suboptimal [v6]

Kim Barrett kbarrett at openjdk.org
Sun Oct 16 08:43:51 UTC 2022


On Sun, 16 Oct 2022 07:26:00 GMT, Ivan Walulya <iwalulya at openjdk.org> wrote:

>> Kim Barrett has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 22 commits:
>> 
>>  - adjust young target length periodically
>>  - use cards in thread-buffers when revising young list target length
>>  - remove remset sampler
>>  - move remset-driven young-gen resizing
>>  - fix type of predict_dirtied_cards_in_threa_buffers
>>  - Merge branch 'master' into crt2
>>  - comments around alloc_bytes_rate being zero
>>  - tschatzl comments
>>  - changed threads wanted logging per kstefanj
>>  - s/max_cards/mutator_refinement_threshold/
>>  - ... and 12 more: https://git.openjdk.org/jdk/compare/8487c56f...1631a61a
>
> src/hotspot/share/gc/g1/g1YoungCollector.cpp line 498:
> 
>> 496:   // Flush dirty card queues to qset, so later phases don't need to account
>> 497:   // for partially filled per-thread queues and such.
>> 498:   flush_dirty_card_queues();
> 
> Can also fix the existing issue to call `flush_dirty_card_queues();` a bit earlier if you hadn't already filed it as a separate bug.

Already a bug for this - https://bugs.openjdk.org/browse/JDK-8295319.  I'm still thinking about / looking at that one.  I'm not sure moving it earlier is correct.  Might be that record_concurrent_refinement_stats should be combined with concatenate_logs, maybe where concatenate_logs / flush_dirty_card_queues is now.  I think it can be addressed separately from the new concurrent refinement controller.

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

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


More information about the hotspot-dev mailing list