United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7188227 VM should recognize M-series SPARC
JDK-7188227 : VM should recognize M-series SPARC

Details
Type:
Enhancement
Submit Date:
2012-07-31
Status:
Closed
Updated Date:
2014-02-04
Project Name:
JDK
Resolved Date:
2012-08-11
Component:
hotspot
OS:
solaris,generic
Sub-Component:
runtime
CPU:
sparc,generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs24,8
Fixed Versions:
hs24 (b20)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Relates:
Relates:

Sub Tasks

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.
                                    

Comments
EVALUATION

Check kstat data for SPARC-M.
                                     
2012-08-01
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8cb110fd7627
                                     
2012-08-02
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/8cb110fd7627
                                     
2012-08-11



Hardware and Software, Engineered to Work Together