Hi, Could I please have reviews of the following change set which implements JEP 352:
JEP: https://openjdk.java.net/jeps/352 JIRA: https://bugs.openjdk.java.net/browse/JDK-8207851 webrev: http://cr.openjdk.java.net/~adinn/8207851/webrev.00/ I would also very much like to target this implementation for JDK13. Testing: The webrev includes a simple test (in directory test/jdk/java/nio/MappedByteBuffer) which ensures that an NVRAM-backed MappedByteBuffer can be created, updated and forced using cache line flushes. This test is marked as ignored because it requires, inter alia, a suitably configured host, fitted with an NVRAM DIMM device or employing a pseudo-NVAM device simulated over volatile RAM. The above test has been run successfully on Linux x86_64 with an Optane DIMM and with a pseduo-NVRAM device. Further, more rigorous testing has been done in both the above configurations using the Narayana Transactions logger and Infinispan distributed data grid. Testing of /successful/ use of the API on Linux AArch64 has not yet been possible with either emulated or real NVRAM devices as it requires an updated (ARMv8.2) CPU hardware capability as well as access to AArch64 compatible NVRAM devices. n.b. an AArch64 compatibility flag (-X:UsePOCForPOP) has been provided in the current patch to support testing on older CPUs using simulated NVRAM. Unfortunately, it has not yet been possible to obtain access to an AArch64 v8.1 machine that supports simulation of NVRAM devices via volatile RAM. In consequence, AArch64 testing has been limited to ensuring that the relevant API failure modes correctly manifest: i.e. v8.1 CPUs which lack the relevant hardware instructions refuse to map NVRAM-backed buffers trwoing UnsupportedOperationException v8.1 CPUs which bypass this failure via compatibility mode fail at the mmap stage with IOException due to lack of NVRAM mapping support in the underlying OS mmap API It is expected that the omissions in AArch64 testing will be rectified in the next few weeks. While this is desirable, the omissions are not viewed as critical since there is currently no general access to the relevant hardware. regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in England and Wales under Company Registration No. 03798903 Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander