RFR (S): 8049341: Parallelize clearing the next mark bitmap

Marcus Larsson marcus.larsson at oracle.com
Mon Nov 3 10:27:51 UTC 2014


Thanks for reviewing, Thomas and Mikael!

Marcus

On 03/11/14 11:04, Mikael Gerdin wrote:
> Hi Marcus,
>
> On 2014-10-13 11:10, Marcus Larsson wrote:
>> Hi,
>>
>>
>> On 01/09/14 10:53, Thomas Schatzl wrote:
>>> Hi Marcus,
>>>
>>
>> [...]
>>
>>>
>>>    I would prefer if the parallel iteration over the heap regions used
>>> the available G1CollectedHeap::heap_region_par_iterate_chunked()
>>> mechanism. Using it avoids imbalance of work due to not all regions
>>> being available.
>>>
>>
>> Fixed!
>>
>>> For this, the per-region claim value (HeapRegion::_claim) should
>>> probably be extracted from the HeapRegion (where it imo does not belong
>>> in the first place) because the concurrent bitmap clear may be
>>> interrupted by young GCs that use it too. Please add a separate
>>> refactoring CR for that.
>>>
>>> Then the pattern established by other parallel gc tasks that use
>>> heap_region_par_iterate_chunked() can be reused.
>>>
>>
>> Fixed in separate issue [1].
>>
>>> With the recent changes I asked this change to be updated with, this
>>> task unfortunately also got a lot harder - it includes JDK-8038423 that
>>> allows arbitrary regions to be not committed - including the
>>> corresponding bitmaps.
>>
>> [...]
>>
>>> Please use the vm.gc.compact.* tests from UTE. They are also 
>>> included in
>>> the vm.gc.* testlists.
>>>
>>
>> Tested without problems.
>>
>>> Thanks,
>>>    Thomas
>>>
>>>
>>>
>>
>> Thank you for looking into this!
>>
>> New webrev:
>> http://cr.openjdk.java.net/~mlarsson/8049341/webrev.02/
>
> Looks good!
> /Mikael
>
>>
>> Marcus
>>
>> [1]: https://bugs.openjdk.java.net/browse/JDK-8058298



More information about the hotspot-gc-dev mailing list