<p dir="ltr">I'd also be interested in a bit more detail.  As well, 10-50% improvement is with respect to what absolute values?</p>
<p dir="ltr">Small issue in the webrev (os_linux_x86.cpp):</p>
<p dir="ltr">973         os::set_core_count(os::active_processor_count());<br>
 974         return os::core_count();</p>
<p dir="ltr">This bailout should fclose(fp) before returning.</p>
<p dir="ltr">Sent from my phone</p>
<div class="gmail_quote">On Nov 19, 2013 7:01 PM, "David Keenan" <<a href="mailto:dkeenan@twitter.com">dkeenan@twitter.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Could you detail the workloads used to measure the reduction in CPU time?  Vagueness is ok. The magnitude of the improvement albeit wonderful is surprising.  I'm curious whether system load was a factor in measurement. </div>

<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 19, 2013 at 3:35 PM, Jungwoo Ha <span dir="ltr"><<a>jwha@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:13px">Hi, </span><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">I am sending this webrev for the review.</div>


<div style="font-family:arial,sans-serif;font-size:13px">(On behalf of Jon Masamitsu, it is upload here)</div><div style="font-family:arial,sans-serif;font-size:13px"><a>http://cr.openjdk.java.net/~jmasa/8028554/webrev.00/</a><br>


</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">The feature is a new heuristics to calculate the default ParallelGCThreads and ConGCThreads.</div>


<div style="font-family:arial,sans-serif;font-size:13px">In x86, hyperthreading is generally bad for GC because of the cache contention.</div><div style="font-family:arial,sans-serif;font-size:13px">Hence, using all the hyper-threaded cores will slow down the overall GC performance.</div>


<div style="font-family:arial,sans-serif;font-size:13px">Current hotspot reads the number of processors that the Linux reports,</div><div style="font-family:arial,sans-serif;font-size:13px">which treats all hyper-threaded cores equally.</div>


<div style="font-family:arial,sans-serif;font-size:13px">Second problem is that when cpu mask is set, not all the cores are available for the GC.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">


The patch improves the heuristics by evaluating the actual available physical cores</div><div style="font-family:arial,sans-serif;font-size:13px">from the proc filesystem and the CPU mask, and use that as the basis for calculating the ParallelGCThreads and ConcGCThreads.</div>


<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">The improvements of GC pause time is significant. We evaluated on Nehalem, Westmere, Sandybridge as well as several AMD processors. We also evaluated on various CPU mask configuration and single/dual socket configurations. </div>


<div style="font-family:arial,sans-serif;font-size:13px">In almost all cases, there were speed up in GC pause time by 10~50%.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">


We primarily use CMS collector for the evaluation, but we also tested on other GCs as well.</div><div style="font-family:arial,sans-serif;font-size:13px">Please take a look and let me know if this patch can be accepted.</div>


<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Thanks,</div><div style="font-family:arial,sans-serif;font-size:13px">Jungwoo Ha</div></div><br>

</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">







<p>@dagskeenan</p>
<p><a value="+16177558186">1.617.755.8186</a></p><p><a>dkeenan@twitter.com</a></p></div>
</div>
</blockquote></div>