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