RFR (S): 8049341: Parallelize clearing the next mark bitmap
Marcus Larsson
marcus.larsson at oracle.com
Mon Oct 13 09:10:19 UTC 2014
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/
Marcus
[1]: https://bugs.openjdk.java.net/browse/JDK-8058298
More information about the hotspot-gc-dev
mailing list