RFR: TestFullGCCount still not quite right

Zhengyu Gu zgu at redhat.com
Fri Nov 30 21:35:10 UTC 2018



On 11/30/18 4:28 PM, Zhengyu Gu wrote:
> 
> 
> On 11/30/18 4:20 PM, Roman Kennke wrote:
>> Oh man. Yes, makes sense.
>>
>> So in a sense, we went full-circle because it means flag!=false would 
>> cover it because it's not the same as flag==true. Right?
> 
> Yes.
> 
> I think having another test header, probably is better and cleaner 
> solution:
> 
>   * @test TestFullGCCount.java
>   * @bug 7072527
>   * @summary CMS: JMM GC counters overcount in some cases
>   * @requires vm.gc.Shenandoah & vm.gc == "Shenandoah" & 
> vm.opt.ExplicitGCInvokesConcurrent == false
>   * @modules java.management
>   * @run main/othervm -Xlog:gc TestFullGCCount


Well, this probably won't prevent the first one from failing Shenandoah :-(

-Zhengyu

> 
> Will test with -shenandoahgc build.
> 
> What do you think?
> 
> -Zhengyu
> 
> 
>>
>> Roman
>>
>>
>> Am 30. November 2018 22:13:31 MEZ schrieb Zhengyu Gu <zgu at redhat.com>:
>>> By default, ExplicitGCInvokesConcurrent flag is true for Shenandoah,
>>> therefore, we need to filter it out when the flag is not specified.
>>>
>>> diff -r 8b751872d64a test/hotspot/jtreg/gc/TestFullGCCount.java
>>> --- a/test/hotspot/jtreg/gc/TestFullGCCount.java        Fri Nov 30
>>> 16:04:44 2018 -0500
>>> +++ b/test/hotspot/jtreg/gc/TestFullGCCount.java        Fri Nov 30
>>> 16:10:37 2018 -0500
>>> @@ -26,7 +26,7 @@
>>>    * @bug 7072527
>>>    * @summary CMS: JMM GC counters overcount in some cases
>>>    * @requires !(vm.gc == "ConcMarkSweep" &
>>> vm.opt.ExplicitGCInvokesConcurrent == true)
>>> - * @requires !(vm.gc == "Shenandoah"    &
>>> vm.opt.ExplicitGCInvokesConcurrent == true)
>>> + * @requires !(vm.gc == "Shenandoah"    &
>>> (vm.opt.ExplicitGCInvokesConcurrent == true |
>>> vm.opt.ExplicitGCInvokesConcurrent == null))
>>>    * @modules java.management
>>>    * @run main/othervm -Xlog:gc TestFullGCCount
>>>    */
>>>
>>>
>>> Test:
>>>    make CONF=linux-x86_64-server-fastdebug run-test
>>> TEST=gc/TestFullGCCount.java
>>> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions
>>> -XX:+UseShenandoahGC"
>>>
>>> Should not run.
>>>
>>> and
>>>
>>> make CONF=linux-x86_64-server-fastdebug run-test
>>> TEST=gc/TestFullGCCount.java
>>> JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC
>>>
>>> -XX:-ExplicitGCInvokesConcurrent"
>>>
>>> Should run.
>>>
>>> Thanks,
>>>
>>> -Zhengyu


More information about the shenandoah-dev mailing list