8153302: [BACKOUT] STW phases at Concurrent GC should count in PerfCounter
Reviewed-by: jmasa, jwilhelm
--- 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;
}
--- 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(); }
--- 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();
--- 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
--- 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;
}
--- 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();
}
--- 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);