Proposal for adding O_DIRECT support into JDK 9

Volker Simonis volker.simonis at
Wed Aug 30 07:48:00 UTC 2017

Hi Lucy,

running the tests with native libs is a little tricky and not very
well documented but if you know how to do it it is quite simple :)

- after doing a build (i.e. make images) you can build the native
parts which are required for running the corresponding tests by making
the following targets:
  make test-image-jdk-jtreg-native (for the jdk/test native parts)
  make test-image-hotspot-jtreg-native (for the hotspot/test native parts)
- this will create the following subdirectories in your build
directory which can be directly used as arguments to -nativepath when
running the corresponding JTreg tests:
  ./support/test/jdk/jtreg/native/lib (for the jdk/test native parts)
  ./support/test/hotspot/jtreg/native/lib (for the hotspot/test native parts)

What Alan meant was that he wanted you to build the native part of
your tests with the make targets mentioned above (i.e.
test-image-jdk-jtreg-native) by putting the build instructions into
jdk/make/test/JtregNative.gmk. was meant as
an example of a test which needs a native library which is built in
the described way. I hearby second Alan's suggestion :)


On Tue, Aug 29, 2017 at 7:19 PM, Lu, Yingqi < at> wrote:
> Hi Alan,
> Thank you for your suggestion. I first tried to run with jtreg and wanted to understand how it works. However the test failed with error message " test result: Error. Use -nativepath to specify the location of native code"
> The command I use to run is:
> jtreg jdk/test/java/lang/String/nativeEncoding/
> Please let me know if I missed anything.
> Thanks,
> Lucy
>>-----Original Message-----
>>From: Alan Bateman [mailto:Alan.Bateman at]
>>Sent: Tuesday, August 29, 2017 3:24 AM
>>To: Brian Burkhalter <brian.burkhalter at>; Lu, Yingqi
>>< at>
>>Cc: Markle, Seth <smarkle at>; nio-dev at
>>Subject: Re: Proposal for adding O_DIRECT support into JDK 9
>>On 28/08/2017 21:28, Brian Burkhalter wrote:
>>> Hi Lucy,
>>> I am unsure of the best way to get the native code to build as part of
>>> the test build. One example however of where this is done is in
>>> <JDK_REPO>/jdk/test/java/awt/JAWT but the test is a shell test and we
>>> are trying to move away from those. I do not know exactly what Alan
>>> intends by his comment. There are other tests which have pre-compiled
>>> shared libraries checked into the SCM. If there is a problem with the
>>> native library itself or in locating it, then I would think the test
>>> should fail and we would be alerted that there is a problem.
>>An example to study is the test in
>>jdk/test/java/lang/String/nativeEncoding. The make file to build it is
>>jdk/make/test/JtregNative.gmk. No issue with splitting this to a separate
>>issue if you decide to include it.

More information about the nio-dev mailing list