1 /*
2 * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
53 "Overhead of concurrent marking") \
54 range(0, 100) \
55 \
56 diagnostic(intx, G1SummarizeRSetStatsPeriod, 0, \
57 "The period (in number of GCs) at which we will generate " \
58 "update buffer processing info " \
59 "(0 means do not periodically generate this info); " \
60 "it also requires that logging is enabled on the trace" \
61 "level for gc+remset") \
62 range(0, max_intx) \
63 \
64 product(double, G1ConcMarkStepDurationMillis, 10.0, \
65 "Target duration of individual concurrent marking steps " \
66 "in milliseconds.") \
67 range(1.0, DBL_MAX) \
68 \
69 product(intx, G1RefProcDrainInterval, 10, \
70 "The number of discovered reference objects to process before " \
71 "draining concurrent marking work queues.") \
72 range(1, max_intx) \
73 \
74 experimental(bool, G1UseConcMarkReferenceProcessing, true, \
75 "If true, enable reference discovery during concurrent " \
76 "marking and reference processing at the end of remark.") \
77 \
78 experimental(double, G1LastPLABAverageOccupancy, 50.0, \
79 "The expected average occupancy of the last PLAB in " \
80 "percent.") \
81 range(0.001, 100.0) \
82 \
83 product(size_t, G1SATBBufferSize, 1*K, \
84 "Number of entries in an SATB log buffer.") \
85 range(1, max_uintx) \
86 \
87 develop(intx, G1SATBProcessCompletedThreshold, 20, \
88 "Number of completed buffers that triggers log processing.") \
89 range(0, max_jint) \
90 \
91 product(uintx, G1SATBBufferEnqueueingThresholdPercent, 60, \
92 "Before enqueueing them, each mutator thread tries to do some " \
93 "filtering on the SATB buffers it generates. If post-filtering " \
94 "the percentage of retained entries is over this threshold " \
95 "the buffer will be enqueued for processing. A value of 0 " \
96 "specifies that mutator threads should not do such filtering.") \
|
1 /*
2 * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
53 "Overhead of concurrent marking") \
54 range(0, 100) \
55 \
56 diagnostic(intx, G1SummarizeRSetStatsPeriod, 0, \
57 "The period (in number of GCs) at which we will generate " \
58 "update buffer processing info " \
59 "(0 means do not periodically generate this info); " \
60 "it also requires that logging is enabled on the trace" \
61 "level for gc+remset") \
62 range(0, max_intx) \
63 \
64 product(double, G1ConcMarkStepDurationMillis, 10.0, \
65 "Target duration of individual concurrent marking steps " \
66 "in milliseconds.") \
67 range(1.0, DBL_MAX) \
68 \
69 product(intx, G1RefProcDrainInterval, 10, \
70 "The number of discovered reference objects to process before " \
71 "draining concurrent marking work queues.") \
72 range(1, max_intx) \
73 \
74 experimental(double, G1LastPLABAverageOccupancy, 50.0, \
75 "The expected average occupancy of the last PLAB in " \
76 "percent.") \
77 range(0.001, 100.0) \
78 \
79 product(size_t, G1SATBBufferSize, 1*K, \
80 "Number of entries in an SATB log buffer.") \
81 range(1, max_uintx) \
82 \
83 develop(intx, G1SATBProcessCompletedThreshold, 20, \
84 "Number of completed buffers that triggers log processing.") \
85 range(0, max_jint) \
86 \
87 product(uintx, G1SATBBufferEnqueueingThresholdPercent, 60, \
88 "Before enqueueing them, each mutator thread tries to do some " \
89 "filtering on the SATB buffers it generates. If post-filtering " \
90 "the percentage of retained entries is over this threshold " \
91 "the buffer will be enqueued for processing. A value of 0 " \
92 "specifies that mutator threads should not do such filtering.") \
|