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

Mikael Gerdin mikael.gerdin at oracle.com
Mon Nov 3 10:04:01 UTC 2014


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