JDK10/RFR(L): 8172231: SPARC ISA/CPU feature detection is broken/insufficient (on Solaris).
Patric Hedlin
patric.hedlin at oracle.com
Mon Jun 19 10:09:47 UTC 2017
On 2017-06-15 18:42, Vladimir Kozlov wrote:
> 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.
No additional changes in the JVMCI.
>
> 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
>
We still have some dependencies to 'libkstat' in the closed parts of the
code base that will require a bit more surgery. As a separate issue
perhaps?
Thanks for reviewing,
Patric
>
> 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