When UseDynamicNumberOfGCThreads is not set, AbstractWorkGang requires all worker threads to be used when starting a task. For example, calling update_active_workers(5) on a WorkGang with 10 worker threads results in an failed assert. ZGC does not dynamically re-calculate the number of workers to use each GC cycle (except for the boost-mode), in the way that UseDynamicNumberOfGCThreads suggests. However, it shares a single WorkGang for both STW and concurrent phases, where the concurrent phases typically want to use fewer workers than the STW phases. Today, ZGC is forced to set UseDynamicNumberOfGCThreads to true to avoid the assert in update_active_workers(). I propose that we remove this assert, making AbstractWorkGang slightly more flexible on this point.
-
Per Liden (Inactive)
-
Per Liden (Inactive)
- Votes:
-
0 Vote for this issue
- Watchers:
-
1 Start watching this issue
- Created:
- Updated:
- Resolved: