RFR: 8207851: Implement JEP 352

Andrew Dinn adinn at redhat.com
Fri May 24 10:06:41 UTC 2019


Any takers for a review?

Also, can anyone advise me on what I might need to do to target this JEP
to JDK13, other than the obvious reviewing and pushing of the


Andrew Dinn

On 23/05/2019 11:55, Andrew Dinn wrote:
> 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

More information about the core-libs-dev mailing list