In JDK-8164948 we found a problem between the initializing stores of HeapRegion and the concurrent marking threads.
During that problem, the immediate issue has been discovered and fixed, but it has been stated that there might be other similar issues in the interaction between these threads.
In particular, G1CollectedHeap::heap_region_containing() is used in many places.
Look at the interaction between marking threads and mutator and try to find potential problems; see if the dependencies can be tightened or even removed due to alternative ways of implementing various algorithms.
Particularly consider that at some point we may want to uncommit parts of the heap not only during full gc, but also during regular operation.
During that problem, the immediate issue has been discovered and fixed, but it has been stated that there might be other similar issues in the interaction between these threads.
In particular, G1CollectedHeap::heap_region_containing() is used in many places.
Look at the interaction between marking threads and mutator and try to find potential problems; see if the dependencies can be tightened or even removed due to alternative ways of implementing various algorithms.
Particularly consider that at some point we may want to uncommit parts of the heap not only during full gc, but also during regular operation.
- relates to
-
JDK-8164948 Initializing stores of HeapRegions are not ordered with regards to their use in G1ConcurrentMark
-
- Closed
-