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