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