< prev index next >

src/hotspot/share/gc/g1/g1ServiceThread.hpp

Print this page
rev 60637 : 8252141: Rename G1YoungRemSetSamplingThread to better reflect its purpose
Reviewed-by:
rev 60638 : [mq]: 8252141-kb-rev1

@@ -20,35 +20,38 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  *
  */
 
-#ifndef SHARE_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
-#define SHARE_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
+#ifndef SHARE_GC_G1_G1SERVICETHREAD_HPP
+#define SHARE_GC_G1_G1SERVICETHREAD_HPP
 
 #include "gc/shared/concurrentGCThread.hpp"
 
-// The G1YoungRemSetSamplingThread is used to re-assess the validity of
-// the prediction for the remembered set lengths of the young generation.
-//
-// At the end of the GC G1 determines the length of the young gen based on
-// how much time the next GC can take, and when the next GC may occur
-// according to the MMU.
-//
-// The assumption is that a significant part of the GC is spent on scanning
-// the remembered sets (and many other components), so this thread constantly
-// reevaluates the prediction for the remembered set scanning costs, and potentially
-// G1Policy resizes the young gen. This may do a premature GC or even
-// increase the young gen size to keep pause time length goal.
-class G1YoungRemSetSamplingThread: public ConcurrentGCThread {
+// The G1ServiceThread is used to periodically do a number of different tasks:
+//   - re-assess the validity of the prediction for the
+//     remembered set lengths of the young generation.
+//   - check if a periodic GC should be scheduled.
+class G1ServiceThread: public ConcurrentGCThread {
 private:
   Monitor _monitor;
 
   double _last_periodic_gc_attempt_s;
 
   double _vtime_accum;  // Accumulated virtual time.
 
+  // Sample the current length of remembered sets for young.
+  //
+  // At the end of the GC G1 determines the length of the young gen based on
+  // how much time the next GC can take, and when the next GC may occur
+  // according to the MMU.
+  //
+  // The assumption is that a significant part of the GC is spent on scanning
+  // the remembered sets (and many other components), so this thread constantly
+  // reevaluates the prediction for the remembered set scanning costs, and potentially
+  // G1Policy resizes the young gen. This may do a premature GC or even
+  // increase the young gen size to keep pause time length goal.
   void sample_young_list_rs_length();
 
   void run_service();
   void check_for_periodic_gc();
 

@@ -57,10 +60,10 @@
   void sleep_before_next_cycle();
 
   bool should_start_periodic_gc();
 
 public:
-  G1YoungRemSetSamplingThread();
+  G1ServiceThread();
   double vtime_accum() { return _vtime_accum; }
 };
 
-#endif // SHARE_GC_G1_G1YOUNGREMSETSAMPLINGTHREAD_HPP
+#endif // SHARE_GC_G1_G1SERVICETHREAD_HPP
< prev index next >