RFR: 8165955: TestFullGCCount test failed with CMS and -XX:+ExplicitGCInvokesConcurrent

Michail Chernov michail.chernov at oracle.com
Mon Nov 14 12:52:21 UTC 2016


Hi Dima, thank you for reviewing!

Could I have a reviewer's review on this change, please?

Thanks,
Michail

On 10/11/2016 15:15, Dmitry Fazunenenko wrote:
> Michail,
>
> thanks for explanation.
> Your fix looks good to me now.
>
> -- Dima
>
> On 11/10/2016 2:25 PM, Michail Chernov wrote:
>> Hi Dima,
>>
>> Thanks for your answer. ExplicitGCInvokesConcurrent=true is used in 
>> CMS and G1 ([1][2]). CMS ends with concurrent phases, G1 ends with 
>> STW phases [3][4]. Performance counters are updated in 
>> TraceMemoryManagerStats::~TraceMemoryManagerStats() which is invoked 
>> in G1CollectedHeap::do_full_collection() and CMSCollector::sweep(). 
>> So I don't see any reason why we should don't execute this test with 
>> G1 and ExplicitGCInvokesConcurrent=true. I'd like to keep requires as 
>> in this change. Furthermore I have a change for WhiteBox to retreive 
>> CMS state (is in idling or not)[5], which can allow this test run 
>> with CMS and ExplicitGCInvokesConcurrent, but it targeted to 10.
>>
>> [1] hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp:309 bool 
>> GenCollectedHeap::should_do_concurrent_full_gc(GCCause::Cause cause)
>> [2] hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp:2172 bool 
>> G1CollectedHeap::is_user_requested_concurrent_full_gc(GCCause::Cause 
>> cause)
>> [3] http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html
>> [4] https://blogs.oracle.com/jonthecollector/entry/hey_joe_phases_of_cms
>> [5] https://bugs.openjdk.java.net/browse/JDK-8169510
>>
>> On 10/11/2016 12:47, Dmitry Fazunenenko wrote:
>>> Hi Michail,
>>>
>>> I think this test is not designed to work in 
>>> ExplicitGCInvokesConcurrent=true.
>>> So, I would require:
>>>  * @requires vm.opt.ExplicitGCInvokesConcurrent != true
>>>
>>> Thanks,
>>> Dima
>>>
>>> On 11/9/2016 7:44 PM, Michail Chernov wrote:
>>>> Hi,
>>>>
>>>> Could I have a reviews for this small change which excludes test 
>>>> run with CMS and -XX:+ExplicitGCInvokesConcurrent, please?
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8165955
>>>> http://cr.openjdk.java.net/~mchernov/8165955/webrev.00/
>>>>
>>>> Test fails because CMS with -XX:+ExplicitGCInvokesConcurrent causes 
>>>> to java's threads unlocking before CMSCollector::sweep() has been 
>>>> done. So the GC counters can be updated after test gets their value.
>>>>
>>>> Thanks,
>>>> Michail
>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20161114/fdd6177f/attachment.htm>


More information about the hotspot-gc-dev mailing list