Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8206003

SafepointSynchronize with TLH: StoreStore barriers should be moved out of the loop

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 11
    • Fix Version/s: 11
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b21

      Backports

        Description

        SafepointSynchronize::begin() and end() were changed for JEP 312: Thread-Local Handshakes. They iterate over all JavaThreads and call SafepointMechanism::arm_local_poll or disarm_local_poll.

        Unfortunetly, the release barrier is inside the latter functions.
        Assume we have several 1000 JavaThreads. This means the code executes several 1000 release barriers on weak memory model platforms (PPC64 and ARM/aarch64). Only one is needed.

        A goal of JEP 312 was to minimize latency of safepoints which gets defeated by this issue to some extend on these platforms.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                mdoerr Martin Doerr
                Reporter:
                mdoerr Martin Doerr
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: