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, \