RFR: 8062943: REDO - Parallelize clearing the next mark bitmap
Marcus Larsson
marcus.larsson at oracle.com
Thu Nov 6 14:53:14 UTC 2014
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
More information about the hotspot-gc-dev
mailing list