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

VM should recognize M-series SPARC

    Details

    • Subcomponent:
    • Resolved In Build:
      b20
    • CPU:
      generic, sparc
    • OS:
      generic, solaris

      Backports

        Description

        We have flags ergonomic tuning (number of GC threads and other) for T-series SPARCs. VM checks kstat data to recognize T-series but it does not check for M-series for which the same tuning should be done.
        M-series has a lot more threads then T-series: ParallelGCThreads=ncpus*5/16 (1488*5/16=465). Currently M-series CPU is not recognized as T-series and not niagara_plus and as result the number of GC threads even bigger (933).

        Here is code in vm_version_sparc.cpp:

        unsigned int VM_Version::calc_parallel_worker_threads() {
          unsigned int result;
          if (is_niagara_plus()) {
            result = nof_parallel_worker_threads(5, 16, 8);
          } else {
            result = nof_parallel_worker_threads(5, 8, 8);
          }
          return result;
        }

        Notice that even more serious than configuring the wrong number of GC-Threads is the fact the without the proper detection of M-Series CPUS the "UseMemSetInBOT" option will not be properly unset on these CPUs. From vm_version.cpp: "When using CMS or G1, we cannot use memset() in BOT updates because the sun4v/CMT version in libc_psr uses BIS which exposes 'phantom zeros' to concurrent readers - see https://bugs.openjdk.java.net/browse/JDK-6948537.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  kvn Vladimir Kozlov
                  Reporter:
                  kvn Vladimir Kozlov
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: