Proposal for adding O_DIRECT support into JDK 9
Lu, Yingqi
yingqi.lu at intel.com
Wed Aug 30 16:16:08 UTC 2017
Hi Volker,
Thank you very much for the detailed instructions.
Last night, I tried to do "make all" (normally I only do "make jdk") and found the native libraries were built in the build/linux-x86_64-normal-server-release/support/test/jdk/jtreg/native/lib. When using "-nativepath:PATH_TO_LIB" with jtreg, the test passed. I will try "make test-image-jdk-jtreg-native" as well to make sure it works too.
Thank you!
Lucy
>-----Original Message-----
>From: Volker Simonis [mailto:volker.simonis at gmail.com]
>Sent: Wednesday, August 30, 2017 12:48 AM
>To: Lu, Yingqi <yingqi.lu at intel.com>
>Cc: Alan Bateman <Alan.Bateman at oracle.com>; Brian Burkhalter
><brian.burkhalter at oracle.com>; nio-dev at openjdk.java.net; Markle, Seth
><smarkle at amazon.com>
>Subject: Re: Proposal for adding O_DIRECT support into JDK 9
>
>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. StringPlatformChars.java 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 :)
>
>Regards,
>Volker
>
>On Tue, Aug 29, 2017 at 7:19 PM, Lu, Yingqi <yingqi.lu at intel.com> wrote:
>> Hi Alan,
>>
>> Thank you for your suggestion. I first tried to run StringPlatformChars.java
>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/StringPlatformChars.java
>>
>> Please let me know if I missed anything.
>>
>> Thanks,
>> Lucy
>>
>>>-----Original Message-----
>>>From: Alan Bateman [mailto:Alan.Bateman at oracle.com]
>>>Sent: Tuesday, August 29, 2017 3:24 AM
>>>To: Brian Burkhalter <brian.burkhalter at oracle.com>; Lu, Yingqi
>>><yingqi.lu at intel.com>
>>>Cc: Markle, Seth <smarkle at amazon.com>; nio-dev at openjdk.java.net
>>>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.
>>>
>>>-Alan
>>
More information about the nio-dev
mailing list