[11] RTM tests fail
Gustavo Romero
gromero at linux.vnet.ibm.com
Mon Jun 25 21:32:18 UTC 2018
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 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.
>>
>
More information about the hotspot-compiler-dev
mailing list