On 28 nov 2013, at 11:16, Leonid Mesnik <leonid.mes...@oracle.com> wrote:

> Eric, Mandy
> 
> Sorry that I looping on very late step. It is not a review just suggestion.
> We have whitebox API in Hotspot which includes fullGC() method. It could be 
> used to reliably provoke full GC.
> See example in 
> http://hg.openjdk.java.net/jdk8/tl/hotspot/file/c9f439732b18/test/runtime/interned/SanityTest.java
> 
> Should such approach works for you?

It’s not necessary. System.gc is implemented as a full GC for all of our GC 
implementations. I don’t think there is a problem in relying on that fact.

> 
> Also please note that your new variant of test fails if any of GC is set 
> explicitly. It is incompatible with GC setting.
> We set GC's and GC-related options during Promotion/Nightly/PIT in 
> Hotspot/SVC. For us is better if test just works
> with any GC set externally. 

This is broken (as has been discussed many times). Tests *need* to be able to 
provide their own flags without someone overriding them and still expecting the 
test to work.

/Staffan

> 
> Do you need to run it with all GC each time? 
> 
> Leonid
> On 11/28/2013 09:21 AM, Eric Wang wrote:
>> Hi Mandy,
>> 
>> Yes, I have tested and all settings are passed, as you mentioned the test 
>> hangs with -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent and default heap 
>> size as no GC happens on Old Gen. That is why to add -Xmx2m and big object 
>> to make sure GC happens.
>> 
>> I didn't realized the -Xconcgc is same as -XX:+UseConcMarkSweepGC, i have 
>> updated the webrev:
>> http://cr.openjdk.java.net/~ewang/JDK-7067973/webrev.00/
>> 
>> Thanks,
>> Eric 
>> On 2013/11/27 10:17, Mandy Chung wrote:
>>> Hi Eric,
>>> 
>>> I'll defer this to the serviceability team to sponsor it and also get one 
>>> more review. 
>>> 
>>> I don't think you need all 7 @runs.  -Xconcgc is equivalent to setting 
>>> -XX:+UseConcMarkSweepGC.  For G1 and CMS, you should use 
>>> -XX:+ExplicitGCInvokesConcurrent so that System.gc will force a GC in 
>>> foreground that you can count the GC reliably. The test wants to get 
>>> notified for each System.gc and if there is any GC caused by allocation 
>>> failure, the test would fail due to the unexpected GC count.  It seems that 
>>> you may run into this issue setting -Xmx2m. 
>>> 
>>> Have you got the test passed in all settings?   I'm seeing that the test 
>>> hangs with -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent without -Xmx2m.  
>>> Looks like there is no GC in the old gen - I'm not familiar with G1 if it 
>>> allocates the big object in the old gen.  Jarolsav - can you help Eric 
>>> diagnose this issue?  I recalled you ran into something like that before - 
>>> maybe Staffan?
>>> 
>>> thanks
>>> Mandy
>>> 
>>> On 11/25/2013 8:53 PM, Eric Wang wrote:
>>>> Hi Mandy,
>>>> 
>>>> 1. for L34-40, executing tests with 7 settings is trying to cover more 
>>>> cases (normal cases and special cases), especially last 3 settings, as 
>>>> found that the test hung if using vm option 
>>>> "-XX:+ExplicitGCInvokesConcurrent" with one of 3 options -XX:+UseG1GC, 
>>>> -XX:+UseConcMarkSweepGC or -Xconcgc
>>>> 
>>>> 2. for L61, that is right, the test has been updated. please review.
>>>> http://cr.openjdk.java.net/~ewang/JDK-7067973/webrev.00/
>>>> 
>>>> Thanks,
>>>> Eric
>>>> On 2013/11/26 8:37, Mandy Chung wrote:
>>>>> Hi Eric,
>>>>> 
>>>>> On 11/24/2013 7:41 PM, Eric Wang wrote:
>>>>>> Hi Mandy & All,
>>>>>> 
>>>>>> Sorry for late! 
>>>>>> The webrev below is just finished based on the comments from peers, 
>>>>>> please help to review.
>>>>>> http://cr.openjdk.java.net/~ewang/JDK-7067973/webrev.00/
>>>>>> 
>>>>> 
>>>>> Thanks for the patch that looks okay.  Some comments:
>>>>> 
>>>>> L34-40: can you explain why you want to run all 7 settings?  I would 
>>>>> expect one for each collector.
>>>>> L61: I think the static checker variable is meant to be a local variable 
>>>>> (and looks like "pools" and "managers" don't need to be static variable).
>>>>> 
>>>>> Mandy
>>>>> 
>>>>>> Thanks,
>>>>>> Eric
>>>>>> On 2013/11/15 10:55, Mandy Chung wrote:
>>>>>>> Hi Eric,
>>>>>>> 
>>>>>>> On 11/14/2013 6:16 PM, Eric Wang wrote:
>>>>>>>> Hi Everyone,
>>>>>>>> 
>>>>>>>> I'm working on the bug 
>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-7067973.
>>>>>>>> 
>>>>>>>> It is a test bug as the test doesn't guarantee memory allocated from 
>>>>>>>> the Old Gen, if the used memory is zero and doesn't cross the 
>>>>>>>> threshold, no notification is sent, so both the main thread and 
>>>>>>>> Checker thread are blocked to wait for the GC notification.
>>>>>>>> 
>>>>>>>> so the suggested fix is similar as the fix ResetPeakMemoryUsage.java 
>>>>>>>> to create big object to make sure the old gen usage crosses the 
>>>>>>>> threshold and run test with different GC vmoptions.
>>>>>>> 
>>>>>>> What are you looking for specifically?  I have provided the above 
>>>>>>> information.  I need to see the webrev to provide further feedback.
>>>>>>> 
>>>>>>> Mandy
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 
> 
> -- 
> Leonid Mesnik
> JVM SQE

Reply via email to