trouble passing JVM startup options using JTREG

Igor Ignatyev igor.ignatyev at oracle.com
Tue Apr 18 16:23:51 UTC 2017


Ramki,

if you want jtreg to pass a flag to JDK under test,you should specify by jtreg -javaoptions flag[1]:

/home/ramki/9dev/build/linux-x86_64-normal-server-release/images/jdk/bin/java -jar /home/ramki/jtreg/lib/jtreg.jar -verbose:all -javaoptions:-XX:ConcGCThreads=1 -jdk:/home/ramki/9dev/build/linux-x86_64-normal-server-release/images/jdk  /home/ramki/9dev/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java 

[1] http://openjdk.java.net/jtreg/command-help.html

Thanks,
-- Igor

> On Apr 18, 2017, at 9:16 AM, Ram Krishnan <ramkri123 at gmail.com> wrote:
> 
> Hi Dima,
> 
> Thanks.
> 
> I tried your suggestion and also examined the .jtr file in ​JTWork/gc/g1/ folder. I am getting the same results as before.
> 
> Thanks,
> Ramki
> 
> On Tue, Apr 18, 2017 at 8:12 AM, Dmitry Fazunenko <dmitry.fazunenko at oracle.com <mailto:dmitry.fazunenko at oracle.com>> wrote:
> Hi Ramki,
> 
> I think you need to specify "-jdk:<your_java_home>" option to jtreg:
> 
> /home/ramki/9dev/build/linux-x86_64-normal-server-release/images/jdk/bin/java -jar /home/ramki/jtreg/lib/jtreg.jar -verbose:all  -jdk:/home/ramki/9dev/build/linux-x86_64-normal-server-release/images/jdk  /home/ramki/9dev/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java 
> 
> More information about test execution you can find in the .jtr file created in ​​JTWork/gc/g1/ folder.
> 
> Thanks,
> Dima
> 
> 
> 
> On 18.04.2017 17:56, Ram Krishnan wrote:
>> Hi Dmitry,
>> 
>> Thanks, more below. 
>> 
>> In the expanded command line option, ​ConcGCThread is indeed set to 1 as expected in the ​ReclaimRegionFastclass JVM. In the direct jtreg option, ​ConcGCThread is 0 in both JVMs. The usage details are below. My build is based on JDK 9 and I downloaded the latest jtreg. There may be something wrong in my jtreg usage -- can you please clarify?
>> 
>> Using jtreg directly does not work 
>> ----------------------------------
>> /home/ramki/9dev/build/linux-x86_64-normal-server-release/images/jdk/bin/java -jar /home/ramki/jtreg/lib/jtreg.jar -verbose:all /home/ramki/9dev/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java 
>> 
>> Command line option works
>> -------------------------
>> /home/ramki/9dev/build/linux-x86_64-normal-server-release/images/jdk/bin/java -cp /home/ramki/9dev/hotspot/test/JTwork/classes/gc/g1:/home/ramki/9dev/hotspot/test/gc/g1:/home/ramki/9dev/hotspot/test/JTwork/classes/test/lib:/home/ramki/9dev/test/lib:/home/ramki/jtreg/lib/javatest.jar:/home/ramki/jtreg/lib/jtreg.jar -XX:+UseG1GC -Xms128M -Xmx128M -Xmn2M -XX:G1HeapRegionSize=1M -XX:InitiatingHeapOccupancyPercent=0 -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+VerifyAfterGC -XX:ConcGCThreads=1 -XX:+IgnoreUnrecognizedVMOptions -XX:+G1VerifyBitmaps -XX:G1GcCpuLLCCachePartitionPercent=48 ReclaimRegionFast
>> 
>> Thanks,
>> Ramki
>> 
>> On Mon, Apr 17, 2017 at 11:21 PM, Dmitry Fazunenko <dmitry.fazunenko at oracle.com <mailto:dmitry.fazunenko at oracle.com>> wrote:
>> Hi Ramki,
>> 
>> It's very unlikely to be an issue related to jtreg somehow.
>> I ran the test you mentioned manually, this is the quote from .jtr file:
>> ...
>> Command line: [/jdk9/solaris-sparcv9/bin/java -d64 -cp /home/fa/hs-int/hotspot/test/gc/g1/JTwork/classes/gc/g1:/home/fa/hs-int/hotspot/test/gc/g1:/home/fa/hs-int/hotspot/test/gc/g1/JTwork/classes/test/lib:/home/fa/hs-int/test/lib:/home/fa/jtreg/lib/javatest.jar:/home/fa/jtreg/lib/jtreg.jar -XX:+UseG1GC -Xms128M -Xmx128M -Xmn2M -XX:G1HeapRegionSize=1M -XX:InitiatingHeapOccupancyPercent=0 -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+VerifyAfterGC -XX:ConcGCThreads=1 -XX:+IgnoreUnrecognizedVMOptions -XX:+G1VerifyBitmaps
>> ​​
>> ReclaimRegionFast ]
>> ...
>> All the VM options are passed as expected.
>> 
>> > I have confirmed this through prints in the JVM code base.
>> I'm not sure what do you mean here, but I guess you did something wrong.
>> 
>> Please note, during execution of this test two JVM are launched:
>> - the first one started by jtreg (TestEagerReclaimHumongousRegionsClearMarkBits class)
>> - the second started by test (ReclaimRegionFast class)
>> 
>> In the first one
>> ​​
>> ConcGCThread should be set to 0.
>> 
>> Thanks,
>> Dima
>> 
>> On 18.04.2017 3:09, Ram Krishnan wrote:
>>> Hi Jenny,
>>> 
>>> I tried what you suggested. Hotspot output indeed shows ​ConcGCThreads as 1.
>>> 
>>> The problem seems to be interaction with jtreg.
>>> 
>>> Thanks,
>>> Ramki
>>> 
>>> On Mon, Apr 17, 2017 at 4:49 PM, Jenny Zhang <yu.zhang at oracle.com <mailto:yu.zhang at oracle.com>> wrote:
>>> Ramki,
>>> 
>>> Can you do the following to be sure that hotspot did not take the parameter?
>>> java -XX:
>>> ​​
>>> ConcGCThreads=1 -XX:+PrintFlagsFinal
>>> 
>>> I am using jdk9b154, the output shows it changed the ConcGCThreads to 1
>>> 
>>> Thanks
>>> Jenny
>>> 
>>> On 4/17/2017 4:33 PM, Ram Krishnan wrote:
>>>> Many thanks Jonathan for the immediate reply. 
>>>> 
>>>> I am copying the hotspot gc team.
>>>> 
>>>> Hotspot gc team -- your help would be much appreciated on the topic below.
>>>> 
>>>> Thanks,
>>>> Ramki
>>>> 
>>>> On Mon, Apr 17, 2017 at 2:29 PM, Jonathan Gibbons <jonathan.gibbons at oracle.com <mailto:jonathan.gibbons at oracle.com>> wrote:
>>>> 
>>>> 
>>>> On 04/17/2017 02:18 PM, Ram Krishnan wrote:
>>>>> Hi,
>>>>> 
>>>>> I have been able to successfully run all the tests in hotspot/test/gc/g1 using jtreg.
>>>>> 
>>>>> The only gotcha I am facing is that the JVM startup options specified in process builder does not have any effect. I have confirmed this through prints in the JVM code base.
>>>>> 
>>>>> For example, 
>>>>> ​/hotspot/test/gc/g1/​ TestEagerReclaimHumongousRegionsClearMarkBits.java modifies the "-XX:ConcGCThreads=1", but inside the JVM code to value of ConcGCThreads is still zero.
>>>>> 
>>>>> ​I am new to jtreg and openjdk and probably missing something obvious. Your help would be much appreciated. 
>>>>> 
>>>>> Thanks in advance,​
>>>>> ​Ramki​
>>>>> 
>>>> 
>>>> Ramki,
>>>> 
>>>> This does not look like an issue with jtreg, since the behavior you are apparently seeing is all within the test code and its libraries.
>>>> 
>>>> You might want to follow up with the Hotspot team, who would have more familiarity with these tests and the associated libraries.
>>>> 
>>>> -- Jon
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Thanks, 
>>>> Ramki
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Thanks, 
>>> Ramki
>> 
>> 
>> 
>> 
>> -- 
>> Thanks, 
>> Ramki
> 
> 
> 
> 
> -- 
> Thanks, 
> Ramki

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20170418/8379d3b6/attachment.htm>


More information about the hotspot-gc-dev mailing list