mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 04:24:49 +02:00
6631166
: CMS: better heuristics when combatting fragmentation
Autonomic per-worker free block cache sizing, tunable coalition policies, fixes to per-size block statistics, retuned gain and bandwidth of some feedback loop filters to allow quicker reactivity to abrupt changes in ambient demand, and other heuristics to reduce fragmentation of the CMS old gen. Also tightened some assertions, including those related to locking. Reviewed-by: jmasa
This commit is contained in:
parent
1383dc414b
commit
272a6d47bb
26 changed files with 1099 additions and 345 deletions
|
@ -55,7 +55,8 @@ class FreeBlockDictionary: public CHeapObj {
|
|||
virtual void dictCensusUpdate(size_t size, bool split, bool birth) = 0;
|
||||
virtual bool coalDictOverPopulated(size_t size) = 0;
|
||||
virtual void beginSweepDictCensus(double coalSurplusPercent,
|
||||
float sweep_current, float sweep_ewstimate) = 0;
|
||||
float inter_sweep_current, float inter_sweep_estimate,
|
||||
float intra__sweep_current) = 0;
|
||||
virtual void endSweepDictCensus(double splitSurplusPercent) = 0;
|
||||
virtual FreeChunk* findLargestDict() const = 0;
|
||||
// verify that the given chunk is in the dictionary.
|
||||
|
@ -79,6 +80,7 @@ class FreeBlockDictionary: public CHeapObj {
|
|||
}
|
||||
|
||||
virtual void printDictCensus() const = 0;
|
||||
virtual void print_free_lists(outputStream* st) const = 0;
|
||||
|
||||
virtual void verify() const = 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue