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

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jun 19 16:34:08 UTC 2017


On 6/19/17 3:09 AM, Patric Hedlin wrote:
> 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.

Okay.

> 
>>
>> 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. 

I did not know.

> As a separate issue perhaps?

Yes, separate.

Changes look good then.

Thanks,
Vladimir

> 
> 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