Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1_globals.hpp @ 1111:44f61c24ddab
6862387: tune concurrent refinement further
Summary: Reworked the concurrent refinement: threads activation, feedback-based threshold adjustment, other miscellaneous fixes.
Reviewed-by: apetrusenko, tonyp
author | iveresov |
---|---|
date | Wed, 16 Dec 2009 15:12:51 -0800 |
parents | 3fc996d4edd2 |
children | 34fb2662f6c2 |
comparison
equal
deleted
inserted
replaced
1104:27f9477e879b | 1111:44f61c24ddab |
---|---|
83 "it also requires -XX:+G1SummarizeRSetStats") \ | 83 "it also requires -XX:+G1SummarizeRSetStats") \ |
84 \ | 84 \ |
85 diagnostic(bool, G1SummarizeZFStats, false, \ | 85 diagnostic(bool, G1SummarizeZFStats, false, \ |
86 "Summarize zero-filling info") \ | 86 "Summarize zero-filling info") \ |
87 \ | 87 \ |
88 develop(bool, G1TraceConcurrentRefinement, false, \ | 88 diagnostic(bool, G1TraceConcurrentRefinement, false, \ |
89 "Trace G1 concurrent refinement") \ | 89 "Trace G1 concurrent refinement") \ |
90 \ | 90 \ |
91 product(intx, G1MarkStackSize, 2 * 1024 * 1024, \ | 91 product(intx, G1MarkStackSize, 2 * 1024 * 1024, \ |
92 "Size of the mark stack for concurrent marking.") \ | 92 "Size of the mark stack for concurrent marking.") \ |
93 \ | 93 \ |
94 product(intx, G1MarkRegionStackSize, 1024 * 1024, \ | 94 product(intx, G1MarkRegionStackSize, 1024 * 1024, \ |
95 "Size of the region stack for concurrent marking.") \ | 95 "Size of the region stack for concurrent marking.") \ |
96 \ | |
97 develop(bool, G1ConcRefine, true, \ | |
98 "If true, run concurrent rem set refinement for G1") \ | |
99 \ | |
100 develop(intx, G1ConcRefineTargTraversals, 4, \ | |
101 "Number of concurrent refinement we try to achieve") \ | |
102 \ | |
103 develop(intx, G1ConcRefineInitialDelta, 4, \ | |
104 "Number of heap regions of alloc ahead of starting collection " \ | |
105 "pause to start concurrent refinement (initially)") \ | |
106 \ | |
107 develop(bool, G1SmoothConcRefine, true, \ | |
108 "Attempts to smooth out the overhead of concurrent refinement") \ | |
109 \ | 96 \ |
110 develop(bool, G1ConcZeroFill, true, \ | 97 develop(bool, G1ConcZeroFill, true, \ |
111 "If true, run concurrent zero-filling thread") \ | 98 "If true, run concurrent zero-filling thread") \ |
112 \ | 99 \ |
113 develop(intx, G1ConcZFMaxRegions, 1, \ | 100 develop(intx, G1ConcZFMaxRegions, 1, \ |
176 "Disable generation of post-barrier (i.e., RS barrier) ") \ | 163 "Disable generation of post-barrier (i.e., RS barrier) ") \ |
177 \ | 164 \ |
178 product(intx, G1UpdateBufferSize, 256, \ | 165 product(intx, G1UpdateBufferSize, 256, \ |
179 "Size of an update buffer") \ | 166 "Size of an update buffer") \ |
180 \ | 167 \ |
181 product(intx, G1UpdateBufferQueueProcessingThreshold, 5, \ | 168 product(intx, G1ConcRefineYellowZone, 0, \ |
182 "Number of enqueued update buffers that will " \ | 169 "Number of enqueued update buffers that will " \ |
183 "trigger concurrent processing") \ | 170 "trigger concurrent processing. Will be selected ergonomically " \ |
184 \ | 171 "by default.") \ |
185 product(intx, G1UpdateBufferQueueMaxLength, 30, \ | 172 \ |
173 product(intx, G1ConcRefineRedZone, 0, \ | |
186 "Maximum number of enqueued update buffers before mutator " \ | 174 "Maximum number of enqueued update buffers before mutator " \ |
187 "threads start processing new ones instead of enqueueing them") \ | 175 "threads start processing new ones instead of enqueueing them. " \ |
176 "Will be selected ergonomically by default. Zero will disable " \ | |
177 "concurrent processing.") \ | |
178 \ | |
179 product(intx, G1ConcRefineGreenZone, 0, \ | |
180 "The number of update buffers that are left in the queue by the " \ | |
181 "concurrent processing threads. Will be selected ergonomically " \ | |
182 "by default.") \ | |
183 \ | |
184 product(intx, G1ConcRefineServiceInterval, 300, \ | |
185 "The last concurrent refinement thread wakes up every " \ | |
186 "specified number of milliseconds to do miscellaneous work.") \ | |
187 \ | |
188 product(intx, G1ConcRefineThresholdStep, 0, \ | |
189 "Each time the rset update queue increases by this amount " \ | |
190 "activate the next refinement thread if available. " \ | |
191 "Will be selected ergonomically by default.") \ | |
192 \ | |
193 product(intx, G1RSUpdatePauseFractionPercent, 10, \ | |
194 "A target percentage of time that is allowed to be spend on " \ | |
195 "process RS update buffers during the collection pause.") \ | |
196 \ | |
197 product(bool, G1AdaptiveConcRefine, true, \ | |
198 "Select green, yellow and red zones adaptively to meet the " \ | |
199 "the pause requirements.") \ | |
188 \ | 200 \ |
189 develop(intx, G1ConcRSLogCacheSize, 10, \ | 201 develop(intx, G1ConcRSLogCacheSize, 10, \ |
190 "Log base 2 of the length of conc RS hot-card cache.") \ | 202 "Log base 2 of the length of conc RS hot-card cache.") \ |
191 \ | 203 \ |
192 develop(intx, G1ConcRSHotCardLimit, 4, \ | 204 develop(intx, G1ConcRSHotCardLimit, 4, \ |