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