RFR: 8327452: G1: Improve scalability of Merge Log Buffers [v2]
Ivan Walulya
iwalulya at openjdk.org
Thu Mar 7 17:55:04 UTC 2024
On Wed, 6 Mar 2024 18:21:25 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> Ivan Walulya has updated the pull request incrementally with one additional commit since the last revision:
>>
>> peel off multiple buffers
>
> src/hotspot/share/gc/g1/g1RemSet.cpp line 1302:
>
>> 1300:
>> 1301: uint worker = 0;
>> 1302: while (cur != nullptr) {
>
> Rather than transferring buffers one-by-one (with a somewhat expensive though uncontended push
> for each), one could use `buffers._entry_count` and `num_workers` to get the number of buffers to
> put in each slot, and peel off that many from the list for each slot. That's maybe a little bit more
> complicated than the current code? And probably needs a lot of buffers to be noticeable.
Thanks, might not be noticeable with regards to performance, however it is a better approach as it avoids superfluous `_next` modifications too. So Decided to add it
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18134#discussion_r1516590054
More information about the hotspot-gc-dev
mailing list