[11u] RFR (S) 8260497: Shenandoah: Improve SATB flushing

Aleksey Shipilev shade at redhat.com
Tue Feb 16 07:36:07 UTC 2021


Thanks, tagged.

On 2/15/21 9:04 PM, Roman Kennke wrote:
> Looks good, thank you!
> 
> Roman
> 
> 
>> Original RFE:
>>     https://bugs.openjdk.java.net/browse/JDK-8260497
>>     https://git.openjdk.java.net/jdk/commit/316d52c1
>>
>> There are distinct changes from master version.
>>
>> First, SATBMarkQueue and PtrQueue are still closely coupled together.
>> Because of this, we cannot drop "virtual" from should_enqueue_buffer,
>> and therefore cannot remove
>> ShenandoahSATBMarkQueue::should_enqueue_buffer completely.
>>
>> Second, there is no SATBMarkQueueSet::flush_queue(SATBMarkQueue&), and
>> so we have to go to SATBMarkQueue::flush directly. This also simplifies
>> ShenandoahFlushSATBHandshakeClosure.
>>
>> I have observed reduced final-mark times with this patch.
>>
>> 11u variant:
>>     https://cr.openjdk.java.net/~shade/8260497/webrev.11u.01/
>>
>> Testing: hotspot_gc_shenandoah; tier{1,2} with Shenandoah
>>
>>
> 


-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list