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

enhancement of cmpxchg and copy_to_survivor for ppc64

    XMLWordPrintable

Details

    • gc
    • b17
    • arm, ppc

    Backports

      Description

        The current implementation of cmpxchg was done in a sequential consistent way.
        On PPC64, it uses a sync instruction before and one after the cmpxchg code which is the most conservative implementation.
        However, these sync instructions cause overhead because they are very expensive in the current POWER chip design.

        Proposed Enhancement (by Hiroshi H Horii):
        Callers can explicitly specify memory barriers. Default value must be conservative so it is not necessary to change all callers.

        The change will improve performance of copy_to_survivor in the parallel GC.
        copy_to_survivor changes forward pointers by using cmpxchg. This operation doesn't require any sync instructions.
        A pointer is changed at most once in a GC and when cmpxchg fails, the latest pointer is available for the caller.

        Attachments

          Issue Links

            Activity

              People

                horii Hiroshi Horii
                mdoerr Martin Doerr
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: