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

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jun 15 16:42:14 UTC 2017


Looks good.

PAtric did you changed anything in JVMCI since the first version of 
changes? Otherwise it has to be reviewed and verified by Labs again.

I suggested before to remove link to libkstat in flags.m4 in top repo 
(line is different now):

http://hg.openjdk.java.net/jdk10/hs/file/78f9bd5dd9f8/common/autoconf/flags.m4#l1319

Thanks,
Vladimir

On 6/15/17 9:03 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/phedlin/tr8172231/
> 
> 
> This is review #2.
> 
> Thanks to Stefan Anzinger <stefan.anzinger at oracle.com>
>            David Holmes <david.holmes at oracle.com> -> follow-up in 
> JDK-8181852
>            Vladimir Kozlov <vladimir.kozlov at oracle.com> -> follow-up in 
> JDK-8181853
> for reviewing the previous version.
> 
> Slight change after review #1 (agreed with Vladimir Kozlov):
> 
>      Revoked instruction fetch alignment based on derived caps. (gain is 
> small on
>      T4 and T7/M7 even for perfectly slotted bundles, and absent on M8).
> 
> 
> 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%).
> 
>      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.
> 
> 
> 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 (jtreg/RBT/hotspot/tier0-comp).
>      Testing on JDK10 (jtreg/RBT/hotspot/precheckin-comp).
> 
> 
> Benchmarking:
> 
>      No additional benchmarking results produced (since previous review).
> 
> 
> Best regards,
> Patric
> 


More information about the hotspot-compiler-dev mailing list