JDK10/RFR(L): 8172231: SPARC ISA/CPU feature detection is broken/insufficient (on Solaris).
Stefan Anzinger
stefan.anzinger at oracle.com
Tue May 2 15:24:25 UTC 2017
Hi Patric,
I had a look and tested this change with jvmci/graal on Solaris. It
compiles and runs without any error. Looks good to me.
Stefan
On 04/28/2017 01:48 PM, 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