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