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