RFR: 8207851 JEP Draft: Support ByteBuffer mapped over non-volatile memory
Andrew Dinn
adinn at redhat.com
Fri Jul 20 13:50:22 UTC 2018
I have finally managed to draft a JEP to formally present the proposal I
circulated a month or two back regarding support for MappedByteBuffer
access to non-volatile memory.
JEP JIRA:
https://bugs.openjdk.java.net/browse/JDK-8207851
The JEP references a re-implementation of the proposed API:
http://cr.openjdk.java.net/~adinn/pmem/webrev.01/
The rework addresses some of the feedback provided in the initial
discussion:
Previous Thread:
(starts in May archive)
http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-May/053317.html
(continues into June archive at)
http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-June/053673.html
In particular, the re-implementation has split the original Hotspot
intrinsic used to guarantee writeback an address range into 3 intrinsics
relocated into class Unsafe which
write back a single cache line
perform any necessary memory sync pre-writeback
perform any necessary memory sync post-writeback
Also, the implementation has been extended from Linux on x86_64 to also
coater for Linux on AArch64. The latter version compiles and generates
correct code but has not yet been tested because I have not yet obtained
access to a box with a suitably up to date kernel.
Comments and suggestions for improvement would be very welcome.
n.v. Jonathan Halliday is about to get his hands on an x86 box with a
real NVM dimm so we may soon be able to try this out with NVM proper
rather than testing with volatile memory pretending to be NVM.
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 hotspot-compiler-dev
mailing list