RFR(M): 8144847: PPC64: Update Transactional Memory and Atomic::cmpxchg code
Thomas Stüfe
thomas.stuefe at gmail.com
Tue Dec 8 08:22:03 UTC 2015
Hi Martin,
thanks for this addition :)
It may make a lot of sense to rebase this change to hs-rt, because
os_aix.cpp is quite different there after
http://hg.openjdk.java.net/jdk9/hs-rt/hotspot/rev/ce87b1141c12. Otherwise
we may have problems later applying your change atop of my change.
-------------
About the AIX kernel version recognition: I know we talked about this, but
I have second thoughts now. I guess I did not think it really through
before, sorry.
So, now I have a change request:
Instead of introducing os::Aix::os_kernel_version
(version,release,techlevel,sp) beside the already existing
os::Aix::os_version (version,release) I would prefer just one parameter,
os_version, end enriching this by techlevel and sp. So, exactly what you
did for os_kernel_version.
Basically, as a prototype:
// -1 = uninitialized, otherwise 32 bit number:
// 0xVVRRTTSS
// VV - major version
// RR - minor version
// TT - tech level, if known, 0 otherwise
// SS - service pack, if known, 0 otherwise
static uint32_t os_version ();
Then please change the few users of os::Aix::os_version() to now expect a
32bit unsigned number. As far as I see there are only 3 callsites.
-------------------
Other small nitpicks:
- in libodm_aix.cpp, please use trcVerbose() instead of if (Verbose)
tty->.. . Please include misc_aix.hpp for trcVerbose(). We will change all
those tracecalls to Unified logging in the near future and this would help
me finding all trace occurrences.
- please move ~dynamicOdm() and odmWrapper::clean_wrapper() from
libodm_aix.hpp to libodm_aix.cpp and accordingly remove the includes
dlfcn.h and stdlib.h from libodm_aix.hpp.
- I probably would change "static unsigned int
determine_os_kernel_version(int major_aix_version, int minor_aix_version);"
to " "static bool fill_in_os_kernel_version(unsigned int* p_os_version);",
but that is just a matter of taste.
Kind Regards, Thomas
On Mon, Dec 7, 2015 at 6:10 PM, Doerr, Martin <martin.doerr at sap.com> wrote:
> Hi,
>
>
>
> I have created a webrev for further PPC64 updates:
>
> AIX supports Transactional Memory with a certain kernel patch level. Add a
> detection for it and make UseRTMLocking usable on AIX.
> In addition, implement Atomic::cmpxchg for jbyte.
>
>
>
> The webrev is here:
>
> http://cr.openjdk.java.net/~mdoerr/8144847_ppc_updates/webrev.00/
>
>
>
> Please review.
>
>
>
> Best regards,
>
> Martin
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151208/6d84bb00/attachment.html>
More information about the hotspot-compiler-dev
mailing list