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

Ioi Lam ioi.lam at oracle.com
Tue Aug 28 22:59:02 UTC 2018


Hi Vladimir & Coleen,

Thanks for the review!

- Ioi


On 8/28/18 2:13 PM, Vladimir Kozlov wrote:
> 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