< 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:
@@ -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 do a number of different task:
+// - 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 >