-
Enhancement
-
Resolution: Fixed
-
P4
-
hs24, 8
-
b20
-
generic, sparc
-
generic, solaris
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2228529 | 8 | Vladimir Kozlov | P4 | Closed | Fixed | b52 |
JDK-8017943 | 7u45 | Vladimir Kozlov | P4 | Closed | Fixed | b01 |
JDK-8002753 | 7u40 | Vladimir Kozlov | P4 | Closed | Fixed | b01 |
JDK-8017083 | 6u71 | Kevin Walls | P4 | Closed | Fixed | b01 |
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.
- backported by
-
JDK-2228529 VM should recognize M-series SPARC
- Closed
-
JDK-8002753 VM should recognize M-series SPARC
- Closed
-
JDK-8002754 VM should recognize M-series SPARC
- Closed
-
JDK-8002755 VM should recognize M-series SPARC
- Closed
-
JDK-8017083 VM should recognize M-series SPARC
- Closed
-
JDK-8017943 VM should recognize M-series SPARC
- Closed
- relates to
-
JDK-6948537 CMS: BOT walkers observe out-of-thin-air zeros on sun4v sparc/CMT
- Closed
-
JDK-7188176 The JVM should differentiate between T and M series and adjust GC ergonomics
- Resolved