RFR: 8238867: Improve G1DirtyCardQueueSet::Queue::pop

Kim Barrett kim.barrett at oracle.com
Thu Feb 13 19:53:12 UTC 2020


> On Feb 13, 2020, at 4:40 AM, Ivan Walulya <ivan.walulya at oracle.com> wrote:
> 
> This is a good fix to blocking on the last element. (Not a reviewer).

Thanks.

> 
>> On 12 Feb 2020, at 01:45, Kim Barrett <kim.barrett at oracle.com> wrote:
>> 
>> Please review this change to G1DirtyCardQueueSet::Queue::pop.
>> Previously, if there was exactly one element in the queue, a pop
>> operation could not return it, because doing so could break invariants
>> for concurrent operations.  Now, if there is one element and there are
>> concurrent pop operations, one of those operations will win.  Note
>> that there are still races between pop and push/append that may
>> prevent the pop operation from obtaining an element.
>> 
>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8238867
>> 
>> Webrev:
>> https://cr.openjdk.java.net/~kbarrett/8238867/open.00/
>> 
>> Testing:
>> mach5 tier1-3.
>> mach5 tier1-5 (only linux-x64) in conjunction with other changes.
>> Some performance testing didn't find any unexpected differences.




More information about the hotspot-gc-dev mailing list