JDK10/RFR(L): 8172231: SPARC ISA/CPU feature detection is broken/insufficient (on Solaris).
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Fri Jun 16 13:50:59 UTC 2017
http://cr.openjdk.java.net/~neliasso/phedlin/tr8172231/webrev/src/cpu/sparc/vm/vmStructs_sparc.hpp.udiff.html
This isn't a review but if the SA doesn't use these hardware features, I
suggest to just remove them. In the unlikely event that the SA does add
support for this (not sure what it would do with these), they can be
added in at that time.
thanks,
Coleen
On 6/15/17 12:03 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/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-dev
mailing list