RFR: 8165955: TestFullGCCount test failed with CMS and -XX:+ExplicitGCInvokesConcurrent
michail.chernov at oracle.com
Thu Nov 10 11:25:27 UTC 2016
Thanks for your answer. ExplicitGCInvokesConcurrent=true is used in CMS
and G1 (). CMS ends with concurrent phases, G1 ends with STW
phases . 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), which can allow this test run with CMS and
ExplicitGCInvokesConcurrent, but it targeted to 10.
 hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp:309 bool
 hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp:2172 bool
On 10/11/2016 12:47, Dmitry Fazunenenko wrote:
> Hi Michail,
> I think this test is not designed to work in
> So, I would require:
> * @requires vm.opt.ExplicitGCInvokesConcurrent != true
> On 11/9/2016 7:44 PM, Michail Chernov wrote:
>> Could I have a reviews for this small change which excludes test run
>> with CMS and -XX:+ExplicitGCInvokesConcurrent, please?
>> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev