< prev index next >

src/hotspot/share/gc/shared/adaptiveSizePolicy.hpp

Print this page
rev 49285 : 8196071: Change G1 Full GC heap and thread sizing ergonomics
Reviewed-by:


 338 
 339  public:
 340   AdaptiveSizePolicy(size_t init_eden_size,
 341                      size_t init_promo_size,
 342                      size_t init_survivor_size,
 343                      double gc_pause_goal_sec,
 344                      uint gc_cost_ratio);
 345 
 346   // Return number default  GC threads to use in the next GC.
 347   static uint calc_default_active_workers(uintx total_workers,
 348                                           const uintx min_workers,
 349                                           uintx active_workers,
 350                                           uintx application_workers);
 351 
 352   // Return number of GC threads to use in the next GC.
 353   // This is called sparingly so as not to change the
 354   // number of GC workers gratuitously.
 355   //   For ParNew collections
 356   //   For PS scavenge and ParOld collections
 357   //   For G1 evacuation pauses (subject to update)

 358   // Other collection phases inherit the number of
 359   // GC workers from the calls above.  For example,
 360   // a CMS parallel remark uses the same number of GC
 361   // workers as the most recent ParNew collection.
 362   static uint calc_active_workers(uintx total_workers,
 363                                   uintx active_workers,
 364                                   uintx application_workers);
 365 
 366   // Return number of GC threads to use in the next concurrent GC phase.
 367   static uint calc_active_conc_workers(uintx total_workers,
 368                                        uintx active_workers,
 369                                        uintx application_workers);
 370 
 371   bool is_gc_cms_adaptive_size_policy() {
 372     return kind() == _gc_cms_adaptive_size_policy;
 373   }
 374   bool is_gc_ps_adaptive_size_policy() {
 375     return kind() == _gc_ps_adaptive_size_policy;
 376   }
 377 




 338 
 339  public:
 340   AdaptiveSizePolicy(size_t init_eden_size,
 341                      size_t init_promo_size,
 342                      size_t init_survivor_size,
 343                      double gc_pause_goal_sec,
 344                      uint gc_cost_ratio);
 345 
 346   // Return number default  GC threads to use in the next GC.
 347   static uint calc_default_active_workers(uintx total_workers,
 348                                           const uintx min_workers,
 349                                           uintx active_workers,
 350                                           uintx application_workers);
 351 
 352   // Return number of GC threads to use in the next GC.
 353   // This is called sparingly so as not to change the
 354   // number of GC workers gratuitously.
 355   //   For ParNew collections
 356   //   For PS scavenge and ParOld collections
 357   //   For G1 evacuation pauses (subject to update)
 358   //   For G1 Full GCs (subject to update)
 359   // Other collection phases inherit the number of
 360   // GC workers from the calls above.  For example,
 361   // a CMS parallel remark uses the same number of GC
 362   // workers as the most recent ParNew collection.
 363   static uint calc_active_workers(uintx total_workers,
 364                                   uintx active_workers,
 365                                   uintx application_workers);
 366 
 367   // Return number of GC threads to use in the next concurrent GC phase.
 368   static uint calc_active_conc_workers(uintx total_workers,
 369                                        uintx active_workers,
 370                                        uintx application_workers);
 371 
 372   bool is_gc_cms_adaptive_size_policy() {
 373     return kind() == _gc_cms_adaptive_size_policy;
 374   }
 375   bool is_gc_ps_adaptive_size_policy() {
 376     return kind() == _gc_ps_adaptive_size_policy;
 377   }
 378 


< prev index next >