Request for review (S): 8005396: Use ParNew with only one thread instead of DefNew as default for CMS on single CPU machines

John Coomes John.Coomes at oracle.com
Fri Dec 21 16:12:19 PST 2012


Bengt Rutisson (bengt.rutisson at oracle.com) wrote:
> 
> Hi All,
> 
> Can I have a couple of reviews for this change?
> 
> http://cr.openjdk.java.net/~brutisso/8005396/webrev.00/
> 
> Currently we use ParNew as default for the young generation when CMS is 
> selected. But if the machine only has a single CPU we set the 
> ParallelGCThreads to 0 and and select DefNew instead of ParNew.

Looks good to me.

-John

> As part of another change, 8003820, we will deprecate the DefNew + CMS 
> combination. Thus, it does not make sense anymore to have this selected 
> by default. This fix is to make CMS always pick ParNew by default.
> 
> The change also has the side effect that the, in my opinion, rather 
> strange behavior that setting ParallelGCThreads=0 on the command line 
> overrides the GC choice. I would expect this command line to give me 
> ParNew, but it actually gives me DefNew:
> 
> -XX:+UseParNewGC -XX:ParallelGCThreads=0
> 
> After my proposed change you get ParNew with the above command line.
> 
> I have done some performance testing to verify that ParNew with one 
> thread is not slower than DefNew. The details are in the bug report:
> 
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005396
> 
> but as a summary it can be said that there is no noticeable difference.
> 
> I am also running some more SPECjbb2005 runs and will analyze the gc times.
> 
> Thanks,
> Bengt


More information about the hotspot-gc-dev mailing list