JDK-8189364 : Make CMS use SuspendibleThreadSet for safepoint synchronization
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9,10
  • Priority: P4
  • Status: Resolved
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2017-10-16
  • Updated: 2017-11-14
  • Resolved: 2017-11-14
Related Reports
Relates :  
Description
Currently, CMS uses its own ways to synchronize its worker threads with safepoints. There is a better generic way to do that now (SuspendibleThreadSet) and CMS should probably use that too. That would simplify the GC-runtime interface.
Comments
The cooperation between the CMS thread and the VM thread does more than the SuspendibleThreadSet is capable of: in particular it allows the VMThread to suspend and hand control back to the CMS thread. The complexity of matching CMS behaviour seems to risky, and the API in CollectedHeap to synchronize GC threads with the VMThread seems good enough to isolate CMS special requirements. Closing this as WONTFIX.
14-11-2017