RFR: TestFullGCCount still not quite right

Zhengyu Gu zgu at redhat.com
Sun Dec 2 00:22:31 UTC 2018



On 11/30/18 4:46 PM, Roman Kennke 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?
>>
>> Yep, should just go back to original form:
>>
>>   * @requires !(vm.gc == "Shenandoah"    &
>> vm.opt.ExplicitGCInvokesConcurrent != false)
> 
> Yeah. Maybe put comments there. This has been a mind-bending confusing
> exercice.

How about this:

diff -r 02ceca8573e0 test/hotspot/jtreg/gc/TestFullGCCount.java
--- a/test/hotspot/jtreg/gc/TestFullGCCount.java        Fri Nov 30 
18:58:47 2018 +0100
+++ b/test/hotspot/jtreg/gc/TestFullGCCount.java        Sat Dec 01 
19:21:51 2018 -0500
@@ -26,7 +26,8 @@
   * @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)
+ * @comment Shenandoah has "ExplicitGCInvokesConcurrent" on by default
+ * @requires !(vm.gc == "Shenandoah"    & 
vm.opt.ExplicitGCInvokesConcurrent != false)
   * @modules java.management
   * @run main/othervm -Xlog:gc TestFullGCCount
   */

-Zhengyu

> 
> Roman
> 
> 
>> Okay?
>>
>> Thanks,
>>
>> -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