RFR: 8062943: REDO - Parallelize clearing the next mark bitmap

Kim Barrett kim.barrett at oracle.com
Thu Nov 6 21:35:30 UTC 2014


On Nov 6, 2014, at 9:53 AM, Marcus Larsson <marcus.larsson at oracle.com> wrote:
> 
> Hi,
> 
> Can I have some reviews for the following re-do patch to parallelize clearing of the next mark bitmap [1].
> 
> The previous patch would cause some asserts in HeapRegionManager::par_iterate() to fail because iteration was happening concurrently with humongous heap region reclamation. These asserts are invalid if iteration is performed concurrently.
> 
> With this updated patch I add a concurrent flag to the par_iterate() function that when set causes iteration to ignore the humongous status of heap regions, and simply iterate over regions one-by-one.
> 
> An alternative solution would be to just remove the special handling of the humongous regions altogether. Right now there are no closures that depend on this behavior from the par_iterate() function (they either ignore humongous regions or skip over continues-humongous regions). Future changes might however want this behavior, and the asserts are probably helpful in the cases they can be used, so I believe it might be a good idea to keep this functionality.
> 
> Webrev:
> http://cr.openjdk.java.net/~mlarsson/8062943/webrev.00/
> 
> Incremental webrev from original patch:
> http://cr.openjdk.java.net/~mlarsson/8062943/webrev.00-inc/
> 
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8062943
> 
> Testing:
> Local JTReg
> 
> Thanks,
> Marcus
> 
> [1]: https://bugs.openjdk.java.net/browse/JDK-8049341

Looks good.



More information about the hotspot-gc-dev mailing list