RFR: More efficient next bitmap resetting for traversal
Zhengyu Gu
zgu at redhat.com
Mon Jul 16 15:52:39 UTC 2018
On 07/16/2018 11:44 AM, Zhengyu Gu wrote:
> Hi,
>
> Looks wrong ...
>
> 1) You passed in traversalSet iter, then re-creates traversalSet itr for
> each worker, so you reset the regions n_workers times.
>
Oops, my bad ... you do claim_next on passed in region iterator, that's
correct.
Just remove
511 ShenandoahHeapRegionSetIterator iter(traversal_set);
-Zhengyu
> 2) Should grab heapLock in reset_next_mark_bitmap_traversal()
>
>
> Thanks,
>
> -Zhengyu
>
>
> On 07/16/2018 11:33 AM, Roman Kennke wrote:
>> The resetting of next bitmap for traversal is a bit inefficient:
>> - It's iterating *all* regions, but then only picks traversal-set
>> regions. We can iterate traversal-set to begin with instead.
>> - It grabs the heap-lock for each region. Which basically serializes the
>> whole process for no good reason.
>>
>> http://cr.openjdk.java.net/~rkennke/better-traversal-reset-bitmaps/webrev.00/
>>
>>
>> Testing: tier3_gc_shenandoah
>>
>> Ok?
>>
>> Roman
>>
More information about the shenandoah-dev
mailing list