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

Enable AssumeMP by default on SPARC machines

    Details

    • Subcomponent:
    • Resolved In Build:
      b21

      Backports

        Description

        Valdimir Kozlov's evaluation:

        I looked on hs_err files for 8-60 and 8-111 (I don't have permission to look
        on 8-131). They have next line about CPU:

        CPU:total 1 v9, popc, vis1, vis2, vis3, blk_init, cbcond, aes, sha1, sha256,
        sha512, sun4v, niagara_plus

        A strange thing is it lists only 1 thread: "total 1 v9". Looks like it was
        running in some kind of VM.

        is_MP() will return false in such case!!!

        To finalize set of BIS instructions we have to issue membar at the end:

        http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/d3cc20285653/src/cpu/sparc/vm/stubGenerator_sparc.cpp#l1106

        But membar instruction is not generated if MP is false:

        http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/d3cc20285653/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp#l651

        I think this is the cause of the problem.

        To verify that run with -XX:+AssumeMP

        http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/d3cc20285653/src/share/vm/runtime/os.hpp#l217

        We should set AssumeMP to true on SPARC.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  poonam Poonam Bajaj Parhar
                  Reporter:
                  poonam Poonam Bajaj Parhar
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: