RFR[XS] 8210040 [TESTBUG] TestOptionsWithRanges is very slow

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Aug 28 21:13:14 UTC 2018


Looks good.

Thanks,
Vladimir

On 8/28/18 12:59 PM, Ioi Lam wrote:
> Hi Vladimir,
> 
> Thank you so much for the tip. I've updated the patch
> 
> http://cr.openjdk.java.net/~iklam/jdk12/8210040-TestOptionsWithRanges-slow.v03/
> 
> I verified that the separate @test blocks can be executed in parallel.
> 
> Thanks
> 
> - Ioi
> 
> 
> On 8/28/18 12:37 PM, Vladimir Kozlov wrote:
>> Ioi,
>>
>> You don't need separate files. You can have several @test ... @run instructions in one file. Jtreg 
>> will run them as separate (but sequential tests). Example:
>>
>> runtime//appcds/sharedStrings/FlagCombo.java
>>
>> Thanks,
>> Vladimir
>>
>> On 8/28/18 9:03 AM, Ioi Lam wrote:
>>> Hi Coleen,
>>>
>>> Thanks for the review.
>>>
>>> Splitting the test is a good suggestion. I've updated the webrev to split it into 10 parts. Now 
>>> fastdebug finishes in less than 2 minutes on my machines with 10 parallel tests.
>>>
>>> http://cr.openjdk.java.net/~iklam/jdk12/8210040-TestOptionsWithRanges-slow.v02/
>>>
>>> I split it by sorting the options and divide them up. I added some debug logs to make sure my 
>>> splitting code doesn't have arithmetic errors:
>>>
>>> TestOptionsWithRanges_01.jtr:Generating subset [0 ... 32) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_02.jtr:Generating subset [32 ... 64) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_03.jtr:Generating subset [64 ... 96) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_04.jtr:Generating subset [96 ... 129) of 33 tests out of 323 total tests
>>> TestOptionsWithRanges_05.jtr:Generating subset [129 ... 161) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_06.jtr:Generating subset [161 ... 193) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_07.jtr:Generating subset [193 ... 226) of 33 tests out of 323 total tests
>>> TestOptionsWithRanges_08.jtr:Generating subset [226 ... 258) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_09.jtr:Generating subset [258 ... 290) of 32 tests out of 323 total tests
>>> TestOptionsWithRanges_10.jtr:Generating subset [290 ... 323) of 33 tests out of 323 total tests
>>>
>>> Thanks
>>>
>>> - Ioi
>>>
>>>
>>> On 8/28/18 5:25 AM, coleen.phillimore at oracle.com wrote:
>>>>
>>>> Thank you for doing this.  I ran into this test yesterday.  Is there any way to split this test 
>>>> into multiple tests?  I had a look at it and couldn't think of a way, since it parses the output 
>>>> of -XX:+PrintFlagsRanges, I believe.  Maybe alphabetically though, include/exclude some groups 
>>>> of flags? Or maybe stop testing all the CMS flags.  Possibly another RFE.
>>>>
>>>> Your change looks good though.  It will help.
>>>>
>>>> Thanks,
>>>> Coleen
>>>>
>>>>
>>>> On 8/28/18 2:27 AM, Ioi Lam wrote:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8210040
>>>>> http://cr.openjdk.java.net/~iklam/jdk12/8210040-TestOptionsWithRanges-slow.v01/
>>>>>
>>>>> TestOptionsWithRanges spawns over 1000 JVM processes that try to force GC.
>>>>> This scales very poorly on machines with lots of RAM. It timed out on my machine
>>>>> with 64GB RAM after an hour.
>>>>>
>>>>> The fix is to add -Xmx1024m to the command-line of the child processes. Also add
>>>>> -XX:-ZapUnusedHeapArea for fastdebug builds.
>>>>>
>>>>>
>>>>>
>>>>
>>>
> 


More information about the hotspot-runtime-dev mailing list