[11] RTM tests fail
Christian Thalinger
cthalinger at twitter.com
Fri Jun 29 15:16:18 UTC 2018
> On Jun 25, 2018, at 5:32 PM, Gustavo Romero <gromero at linux.vnet.ibm.com> wrote:
>
> Hi Christian,
>
> On 06/25/2018 09:54 AM, Christian Thalinger wrote:
>>> On Jun 25, 2018, at 8:49 AM, Gustavo Romero <gromero at linux.vnet.ibm.com> wrote:
>>>
>>> On 06/25/2018 09:46 AM, Lindenmaier, Goetz wrote:
>>>>>> Did you check with or without these fixes?
>>>>>
>>>>> Without, unfortunately. Are all of the failures fixed now (in jdk-11+19)?
>>>> I don't know, our machines do not have RTM, only our Power ones do.
>>>> But I think Gustavo Romero from IBM claimed so.
>>>
>>> Yup, after the three fixes Goetz mentioned all RTM tests must pass on Intel.
>> Ok, I’ll get back to you…
>
> Yes, please let me know if all went fine :)
I did not forget but we can’t merge in jdk-11+19 because of https://bugs.openjdk.java.net/browse/JDK-8205616 <https://bugs.openjdk.java.net/browse/JDK-8205616>
We have to wait until jdk-11+20 is tagged.
>
> I checked again the current state on Intel (jdk/jdk tip) and all tests passed.
> After applying the fixes it's good to verify if there isn't a stale ./JTwork by
> deleting it. If that helps, find below some information about the system:
>
> gromero at moog:~/hg/jdk/jdk$ uname -a
> Linux moog 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
> gromero at moog:~/hg/jdk/jdk$ lscpu | egrep "rtm|Model"
> Model: 94
> Model name: Intel(R) Xeon(R) CPU E3-1280 v5 @ 3.70GHz
> Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt retpoline kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
>
> gromero at moog:~/hg/jdk/jdk$ JT_JAVA=/usr/lib/jvm/java-8-openjdk-amd64 /home/gromero/jtreg/bin/jtreg -v1 -conc:20 -jdk:./build/linux-x86_64-normal-server-release/jdk/ ./test/hotspot/jtreg/compiler/rtm
> Passed: compiler/rtm/cli/TestRTMLockingThresholdOption.java
> Passed: compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java
> Passed: compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java
> Passed: compiler/rtm/cli/TestRTMRetryCountOption.java
> Passed: compiler/rtm/cli/TestRTMAbortThresholdOption.java
> Passed: compiler/rtm/cli/TestRTMSpinLoopCountOption.java
> Passed: compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java
> Passed: compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java
> Passed: compiler/rtm/locking/TestUseRTMAfterLockInflation.java
> Passed: compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java
> Passed: compiler/rtm/locking/TestUseRTMForInflatedLocks.java
> Passed: compiler/rtm/locking/TestUseRTMForStackLocks.java
> Passed: compiler/rtm/locking/TestRTMLockingCalculationDelay.java
> Passed: compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java
> Passed: compiler/rtm/locking/TestUseRTMDeopt.java
> Passed: compiler/rtm/method_options/TestUseRTMLockElidingOption.java
> Passed: compiler/rtm/method_options/TestNoRTMLockElidingOption.java
> Passed: compiler/rtm/locking/TestRTMAbortThreshold.java
> Passed: compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java
> Passed: compiler/rtm/locking/TestRTMTotalCountIncrRate.java
> Passed: compiler/rtm/locking/TestRTMAbortRatio.java
> Passed: compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java
> Passed: compiler/rtm/locking/TestRTMRetryCount.java
> Passed: compiler/rtm/locking/TestRTMLockingThreshold.java
> Passed: compiler/rtm/locking/TestRTMSpinLoopCount.java
> Passed: compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java
> Passed: compiler/rtm/locking/TestUseRTMXendForLockBusy.java
> Test results: passed: 30
>
>
> I also ran it with -conc:1:
>
> gromero at moog:~/hg/jdk/jdk$ JT_JAVA=/usr/lib/jvm/java-8-openjdk-amd64 /home/gromero/jtreg/bin/jtreg -v1 -conc:1 -jdk:./build/linux-x86_64-normal-server-release/jdk/ ./test/hotspot/jtreg/compiler/rtm
> Passed: compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestRTMAbortThresholdOption.java
> Passed: compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java
> Passed: compiler/rtm/cli/TestRTMLockingThresholdOption.java
> Passed: compiler/rtm/cli/TestRTMRetryCountOption.java
> Passed: compiler/rtm/cli/TestRTMSpinLoopCountOption.java
> Passed: compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java
> Passed: compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java
> Passed: compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java
> Passed: compiler/rtm/locking/TestRTMAbortRatio.java
> Passed: compiler/rtm/locking/TestRTMAbortThreshold.java
> Passed: compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java
> Passed: compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java
> Passed: compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java
> Passed: compiler/rtm/locking/TestRTMLockingCalculationDelay.java
> Passed: compiler/rtm/locking/TestRTMLockingThreshold.java
> Passed: compiler/rtm/locking/TestRTMRetryCount.java
> Passed: compiler/rtm/locking/TestRTMSpinLoopCount.java
> Passed: compiler/rtm/locking/TestRTMTotalCountIncrRate.java
> Passed: compiler/rtm/locking/TestUseRTMAfterLockInflation.java
> Passed: compiler/rtm/locking/TestUseRTMDeopt.java
> Passed: compiler/rtm/locking/TestUseRTMForInflatedLocks.java
> Passed: compiler/rtm/locking/TestUseRTMForStackLocks.java
> Passed: compiler/rtm/locking/TestUseRTMXendForLockBusy.java
> Passed: compiler/rtm/method_options/TestNoRTMLockElidingOption.java
> Passed: compiler/rtm/method_options/TestUseRTMLockElidingOption.java
> Passed: compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java
> Test results: passed: 30
>
>
> Regards,
> Gustavo
>
>>>
>>>
>>> Regards,
>>> Gustavo
>>>
>>>> Best regards,
>>>> Goetz.
>>>>>
>>>>>>
>>>>>> Best regards,
>>>>>> Goetz.
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-
>>>>>>> bounces at openjdk.java.net] On Behalf Of Christian Thalinger
>>>>>>> Sent: Montag, 25. Juni 2018 14:17
>>>>>>> To: hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
>>>>>>> Subject: [11] RTM tests fail
>>>>>>>
>>>>>>> Hi! Is anyone running the compiler/rtm/ tests on a machine that actually
>>>>>>> supports RTM?
>>>>>>>
>>>>>>> Every time one of our nightly jobs ends up on a machine that supports
>>>>> RTM a
>>>>>>> bunch of locking tests and the print test fail:
>>>>>>>
>>>>>>> • compiler/rtm/locking/TestRTMAbortRatio.java.TestRTMAbortRatio
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/locking/TestRTMAbortThreshold.java.TestRTMAbortThreshold
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java.TestRTMAfterNonR
>>>>>>> TMDeopt
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java.TestRTMDeopt
>>>>>>> OnHighAbortRatio
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java.TestRTMDeopt
>>>>>>> OnLowAbortRatio
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/locking/TestRTMLockingThreshold.java.TestRTMLockingThresh
>>>>>>> old
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/locking/TestUseRTMXendForLockBusy.java.TestUseRTMXend
>>>>>>> ForLockBusy
>>>>>>> •
>>>>>>>
>>>>> compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java.TestPrintPreci
>>>>>>> seRTMLockingStatistics
>>>>>>>
>>>>>>> Exceptions look like this (for all the failures above in order):
>>>>>>>
>>>>>>> java.lang.RuntimeException: Actual abort ratio (10000) should lower or
>>>>> equal
>>>>>>> to specified (100).: expected that 10000 <= 100
>>>>>>>
>>>>>>> java.lang.RuntimeException: Expected that method with rtm lock elision
>>>>> was
>>>>>>> deoptimized after 1 lock attempts: expected 3320 to equal 1
>>>>>>>
>>>>>>> java.lang.RuntimeException: Two uncommon traps with reason
>>>>>>> rtm_state_change should be fired.: expected 0 to equal 2
>>>>>>>
>>>>>>> java.lang.RuntimeException: Expected to get only one deoptimization due
>>>>> to
>>>>>>> rtm state change: expected 0 to equal 1
>>>>>>>
>>>>>>> java.lang.RuntimeException: Expected to get only one deoptimization due
>>>>> to
>>>>>>> rtm state change: expected 0 to equal 1
>>>>>>>
>>>>>>> java.lang.RuntimeException: There should be exactly one statistics entry
>>>>>>> corresponding to ProfileRTM state.: expected null to not equal null
>>>>>>>
>>>>>>> java.lang.RuntimeException: VM output should contain exactly one rtm
>>>>>>> locking statistics entry for method compiler.testlibrary.rtm.BusyLock::test:
>>>>>>> expected 0 to equal 1
>>>>>>>
>>>>>>> java.lang.RuntimeException: RTM locking statistics should contain non
>>>>> zero
>>>>>>> aborts count for abort reason 0: expected 0 > 0
>>>>>>>
>>>>>>> Since these tests are not excluded I have to assume that either (a) they
>>>>> work
>>>>>>> for you (really?) or (b) that Oracle (or someone else) doesn’t have
>>>>> machines
>>>>>>> that support RTM.
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180629/453d2da1/attachment-0001.html>
More information about the hotspot-compiler-dev
mailing list