# HG changeset patch # User dcubed # Date 1459546210 25200 # Node ID d9a0c407ac980be9a1ccfa29f4f72df14af3aad9 # Parent be6614a0fd2b8f6f07ca8c1f093accbe7028d07c 8153302: [BACKOUT] STW phases at Concurrent GC should count in PerfCounter Reviewed-by: jmasa, jwilhelm diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp --- a/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Fri Apr 01 14:30:10 2016 -0700 @@ -626,7 +626,6 @@ NOT_PRODUCT(_overflow_counter = CMSMarkStackOverflowInterval;) _gc_counters = new CollectorCounters("CMS", 1); - _cgc_counters = new CollectorCounters("CMS stop-the-world phases", 2); _completed_initialization = true; _inter_sweep_timer.start(); // start of time } @@ -5547,18 +5546,18 @@ void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) { GCTraceCPUTime tcpu; - TraceCollectorStats tcs(cgc_counters()); + TraceCollectorStats tcs(counters()); switch (op) { case CMS_op_checkpointRootsInitial: { GCTraceTime(Info, gc) t("Pause Initial Mark", NULL, GCCause::_no_gc, true); - SvcGCMarker sgcm(SvcGCMarker::CONCURRENT); + SvcGCMarker sgcm(SvcGCMarker::OTHER); checkpointRootsInitial(); break; } case CMS_op_checkpointRootsFinal: { GCTraceTime(Info, gc) t("Pause Remark", NULL, GCCause::_no_gc, true); - SvcGCMarker sgcm(SvcGCMarker::CONCURRENT); + SvcGCMarker sgcm(SvcGCMarker::OTHER); checkpointRootsFinal(); break; } diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp --- a/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.hpp Fri Apr 01 14:30:10 2016 -0700 @@ -555,7 +555,6 @@ // Performance Counters CollectorCounters* _gc_counters; - CollectorCounters* _cgc_counters; // Initialization Errors bool _completed_initialization; @@ -930,8 +929,7 @@ NOT_PRODUCT(bool is_cms_reachable(HeapWord* addr);) // Performance Counter Support - CollectorCounters* counters() { return _gc_counters; } - CollectorCounters* cgc_counters() { return _cgc_counters; } + CollectorCounters* counters() { return _gc_counters; } // Timer stuff void startTimer() { assert(!_timer.is_active(), "Error"); _timer.start(); } diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp --- a/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp Fri Apr 01 14:30:10 2016 -0700 @@ -1072,6 +1072,8 @@ return; } + SvcGCMarker sgcm(SvcGCMarker::OTHER); + if (VerifyDuringGC) { HandleMark hm; // handle scope g1h->prepare_for_verify(); diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/g1/g1MonitoringSupport.cpp --- a/hotspot/src/share/vm/gc/g1/g1MonitoringSupport.cpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/g1/g1MonitoringSupport.cpp Fri Apr 01 14:30:10 2016 -0700 @@ -76,7 +76,6 @@ _g1h(g1h), _incremental_collection_counters(NULL), _full_collection_counters(NULL), - _conc_collection_counters(NULL), _old_collection_counters(NULL), _old_space_counters(NULL), _young_collection_counters(NULL), @@ -105,9 +104,6 @@ // old generation collection. _full_collection_counters = new CollectorCounters("G1 stop-the-world full collections", 1); - // name "collector.2". STW phases as part of a concurrent collection. - _conc_collection_counters = - new CollectorCounters("G1 stop-the-world phases", 2); // timer sampling for all counters supporting sampling only update the // used value. See the take_sample() method. G1 requires both used and diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/g1/g1MonitoringSupport.hpp --- a/hotspot/src/share/vm/gc/g1/g1MonitoringSupport.hpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/g1/g1MonitoringSupport.hpp Fri Apr 01 14:30:10 2016 -0700 @@ -122,8 +122,6 @@ CollectorCounters* _incremental_collection_counters; // full stop-the-world collections CollectorCounters* _full_collection_counters; - // stop-the-world phases in G1 - CollectorCounters* _conc_collection_counters; // young collection set counters. The _eden_counters, // _from_counters, and _to_counters are associated with // this "generational" counter. @@ -212,9 +210,6 @@ CollectorCounters* full_collection_counters() { return _full_collection_counters; } - CollectorCounters* conc_collection_counters() { - return _conc_collection_counters; - } GenerationCounters* young_collection_counters() { return _young_collection_counters; } diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/g1/vm_operations_g1.cpp --- a/hotspot/src/share/vm/gc/g1/vm_operations_g1.cpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/g1/vm_operations_g1.cpp Fri Apr 01 14:30:10 2016 -0700 @@ -217,8 +217,6 @@ GCTraceCPUTime tcpu; G1CollectedHeap* g1h = G1CollectedHeap::heap(); GCTraceTime(Info, gc) t(_printGCMessage, g1h->concurrent_mark()->gc_timer_cm(), GCCause::_no_gc, true); - TraceCollectorStats tcs(g1h->g1mm()->conc_collection_counters()); - SvcGCMarker sgcm(SvcGCMarker::CONCURRENT); IsGCActiveMark x; _cl->do_void(); } diff -r be6614a0fd2b -r d9a0c407ac98 hotspot/src/share/vm/gc/shared/vmGCOperations.hpp --- a/hotspot/src/share/vm/gc/shared/vmGCOperations.hpp Fri Apr 01 16:15:37 2016 +0300 +++ b/hotspot/src/share/vm/gc/shared/vmGCOperations.hpp Fri Apr 01 14:30:10 2016 -0700 @@ -235,7 +235,7 @@ private: JvmtiGCMarker _jgcm; public: - typedef enum { MINOR, FULL, CONCURRENT, OTHER } reason_type; + typedef enum { MINOR, FULL, OTHER } reason_type; SvcGCMarker(reason_type reason ) { VM_GC_Operation::notify_gc_begin(reason == FULL);