RFR(S): 8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9"

Doerr, Martin martin.doerr at sap.com
Fri May 25 13:29:28 UTC 2018


Hi Gustavo,

after talking with Götz, we found a couple of problems.

vm_version_ppc.cpp:
AIX 7.2 on Power7 would report "rtm" in the feature string which is not true.
The check for Power8 is missing here. However, PowerArchitecturePPC64 can't be used here because it's not initialized at this point. "has_lqarx()" could be used.

Some tests complain:
OpenJDK 64-Bit Server VM warning: UseRTMLocking is only available as experimental option on this platform.

I think the warnings or vm_exit stuff could be removed if you want to support it officially. X86 only uses it for certain older processors.

We'll have to check other tests, too. We'll do that next week.

Best regards,
Martin


-----Original Message-----
From: Doerr, Martin 
Sent: Donnerstag, 24. Mai 2018 11:19
To: 'Gustavo Romero' <gromero at linux.vnet.ibm.com>; hotspot-compiler-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net
Cc: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
Subject: RE: RFR(S): 8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9"

Hi Gustavo,

the fix looks good. I especially like that you use "rtm" like x86, now.
I can sponsor it after we got a 2nd review.

Best regards,
Martin


-----Original Message-----
From: ppc-aix-port-dev [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Gustavo Romero
Sent: Mittwoch, 23. Mai 2018 15:49
To: hotspot-compiler-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net
Subject: RFR(S): 8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9"

Hi,

Could the following small fix be reviewed please?

It touches shared code.

bug:    https://bugs.openjdk.java.net/browse/JDK-8203669
webrev: http://cr.openjdk.java.net/~gromero/POWER9/8203669

Since change "8203305: Improve TM detection for enabling RTM on Linux / POWER9"
JVM on PPC64 is not advertising anymore the feature "tcheck" which indicated
that RTM was supported by the JVM in case both CPU and OS supported hardware
transactional memory.

It happens that several tests under /test/hotspot/jtreg/compiler/rtm rely on the
JVM to advertise if RTM is supported by the JVM on a given CPU/OS and so they
were failing to be skipped (or not) on different PPC64/Linux combinations.

That change fixes it by re-introducing a feature to inform that RTM is supported
by the JVM when appropriated (given valid OS/CPU support) and now it does it by
advertising that feature as on x86_64, reporting the feature as "rtm".

It also incorporates a check for when OS does not support RTM but CPU does in
test:

TestUseRTMLockingOptionOnUnsupportedCPU.java.

Just on PPC64 it might be the case that although CPU supports RTM (HTM)
instructions the OS version might not support it, like on old kernels that do
not abort transactions on syscalls. JVM correctly reports each case so the test
was adapted to test them.

That change also corrects a couple of nit typos elsewhere not related to
"8203305".


Thank you.

Best regards,
Gustavo



More information about the ppc-aix-port-dev mailing list