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