RFR: 8165955: TestFullGCCount test failed with CMS and -XX:+ExplicitGCInvokesConcurrent
Michail Chernov
michail.chernov at oracle.com
Thu Nov 10 11:25:27 UTC 2016
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.org/pipermail/hotspot-gc-dev/attachments/20161110/db8ad8c6/attachment.htm>
More information about the hotspot-gc-dev
mailing list