At the end of gc we need to iterate over all regions where evacuation failed to fix up self-forwarded pointers.
Currently, particularly afterJDK-8254164, we iterate over all collection set regions in parallel with all threads.
This is a problem with current work distribution: since we do not know how many regions with actual work there are, we spin up all available threads, with no idea
- which thread gets to do which region.
- how much work is actually there, causing issues with synchronization of spinning up and down lots of threads unnecessarily
Currently, particularly after
This is a problem with current work distribution: since we do not know how many regions with actual work there are, we spin up all available threads, with no idea
- which thread gets to do which region.
- how much work is actually there, causing issues with synchronization of spinning up and down lots of threads unnecessarily
- relates to
-
JDK-8236594 G1: Provide object pinning
-
- Open
-