RFR(XXS): 8006894: G1: Number of marking threads missing from PrintFlagsFinal output
Jon Masamitsu
jon.masamitsu at oracle.com
Thu Jan 24 23:45:35 UTC 2013
John,
Change looks good.
It wasn't obvious to me that the default for ConcGCThreads is 0 so
I had to look at the "if (ConcGCThreads > 0)" a couple of times
before I understood that it was really
"if (ConcGCThreads-is-user-specified-and-greater-than-0)"
Would you consider changing to
if (!FLAG_IS_DEFAULT(ConcGCThreads) && ConcGCThreads > 0)
It's more wordy and doesn't really change anything but I think
it's more readable.
Jon
On 1/24/2013 3:01 PM, John Cuthbertson wrote:
> Hi All,
>
> Can I have a couple of volunteers look over this small change? The
> webrev can be found at:
> http://cr.openjdk.java.net/~johnc/8006894/webrev.0/
>
> Summary:
> When G1 calculates the number of marking threads based upon (the
> develop-only) G1MarkingOverheadPercent or (more usually)
> ParallelGCThreads, we weren't setting the value of ConcGCThreads. As a
> result the output of PrintFlagsFinal would always show a zero if
> ConcGCThreads wasn't specified on the command line:
>
> uintx ConcGCThreads = 0
> {product}
>
> This made it difficult for the performance team to analyze marking
> behavior and offer advice. With this change we now get the calculated
> number of marking threads:
>
> Using ParallelGCThreads (default: 4):
>
> uintx ConcGCThreads := 1
> {product}
>
> Using G1MarkingOverheadPercent (50):
>
> uintx ConcGCThreads := 2
> {product}
>
> Testing:
> Command line testing; specjvm98 and dacapo with a low IHOP value
> (marking threshold).
>
> Thanks,
>
> JohnC
More information about the hotspot-gc-dev
mailing list