JDK10/RFR(L): 8172231: SPARC ISA/CPU feature detection is broken/insufficient (on Solaris).

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue May 16 18:45:25 UTC 2017


Hi Patric

Very nice work.

Did you measure a performance improvement when you increase allocation prefetch values on new S4?

Since you removed call to kstat you can remove kstat.h include and link to libkstat in makefile:

http://hg.openjdk.java.net/jdk10/hs/file/35273d1dff83/common/autoconf/flags.m4#l1290

Thanks,
Vladimir

On 4/28/17 6:48 AM, Patric Hedlin wrote:
> Dear all,
>
> I would like to ask for help to review the following change/update:
>
> Issue:    https://bugs.openjdk.java.net/browse/JDK-8172231
>
> Webrev:   http://cr.openjdk.java.net/~neliasso/8172231/
>
>
>
> 8172231: SPARC ISA/CPU feature detection is broken/insufficient (on Solaris).
>
>     Updating SPARC feature/capability detection (incorporating changes from Martin Walsh).
>     More complete set of features as provided by 'getisax(2)' interface, propagated via JVMCI.
>     More robust hardware probing for additional features (up to Core S4).
>     Removing support for old, pre Niagara, hardware.
>     Removing support for old, pre 11.1, Solaris.
>
>     Changed behaviour:
>     Changing SPARC setup for AllocatePrefetchLines and AllocateInstancePrefetchLines
>     such that they will (still) be doubled when cache-line size is small (32 bytes),
>     but more moderately increased on new/contemporary hardware (inc >= 50%).
>     Changing to default instruction fetch alignment based on derived caps. instead
>     of relying on default/configuration values.
>
>     The above changes also subsumes:
>     8035146: assert(is_T_family(features) == is_niagara(features), "Niagara should be T series") is incorrect
>     8054979: Remove unnecessary defines in SPARC's VM_Version::platform_features
>
>
> Rationale:
>
>     Current hardware detection on Solaris/SPARC is not up to date with the "latest" (here,
>     meaning commercially available server solutions, i.e. T7/M7). To facilitate improved
>     use of the new hardware features provided (by Core S3&S4) these capabilities need to
>     be recognised by the JVM.
>
>     NOTE: This update is limited to Core S3&S4, i.e. not including Core S5. Proper Core S5
>     support will be added when regular testing and benchmarking resources are available,
>     i.e. regular testing need to include M8 hardware.
>
>
> Caveat:
>
>     This update will introduce some redundancies into the code base, features and definitions
>     currently not used, as well as a (small) number of FIXMEs, addressed by subsequent bug or
>     feature updates/patches. Fujitsu HW is treated very conservatively.
>
>
> Testing:
>
>     Mostly tested on JDK9 (RBT/hotspot/comp). Only local testing on JDK10 (jtreg/hotspot).
>
>
> Benchmarking:
>
>     Benchmark reports from a limited set of runs can be found at:
>
>     http://aurora.se.oracle.com/performance/reporting/report/patric.hedlin.TvM.jbb05
>     http://aurora.se.oracle.com/performance/reporting/report/patric.hedlin.TvM.jvm08
>     http://aurora.se.oracle.com/performance/reporting/report/patric.hedlin.TvM.octane.plus
>
>     (Limited availability of M7 hardware prevents complete suites/runs.)
>
>
> Best regards,
> Patric
>


More information about the hotspot-compiler-dev mailing list