Request for Review - 8152208: Summary for phase times are incorrect with and without UseDynamicNumberOfGCThreads (original) (raw)
Jon Masamitsu jon.masamitsu at oracle.com
Wed Mar 23 16:09:31 UTC 2016
- Previous message (by thread): Request for Review - 8152208: Summary for phase times are incorrect with and without UseDynamicNumberOfGCThreads
- Next message (by thread): Request for Review - 8152208: Summary for phase times are incorrect with and without UseDynamicNumberOfGCThreads
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Bengt,
Thanks for the review.
The delta webrev with you suggestion to use OutputAnalyzer shouldMatch is here
http://cr.openjdk.java.net/~jmasa/8152208/webrev_delta.01_02/
I used my own Matcher in cases where I wanted to extract more information after I had a match.
Full webrev is
http://cr.openjdk.java.net/~jmasa/8152208/webrev.02/
Jon
On 03/22/2016 02:29 AM, Bengt Rutisson wrote:
Hi Jon, On 2016-03-22 00:05, Jon Masamitsu wrote: Tao,
I've updated the 01 version. The test has not changed. Thanks again for catching that. Jon On 03/21/2016 03:16 PM, Tao Mao wrote: This change has a bug: double counting get(0); should start with s = 0
Thanks. Tao Mao On Mon, Mar 21, 2016 at 2:55 PM, Jon Masamitsu <jon.masamitsu at oracle.com <mailto:jon.masamitsu at oracle.com>> wrote: Bengt, Thanks for the review. On 03/21/2016 02:13 AM, Bengt Rutisson wrote:
Hi Jon, On 2016-03-21 03:43, Jon Masamitsu wrote: The averages reported for phase times (for example "Ext Root Scanning") were incorrect. Not all the per thread values were included in the sum and the average value was incorrect (this with build 9-ea+1100)
[0.366s][debug][gc,phases ] GC(2) Ext Root Scanning (ms): Min: 0.3, Avg: 0.2, Max: 0.4, Diff: 0.0, Sum: 0.3 [0.366s][trace][gc,phases,task ] GC(2) 0.4 0.3 With the fix all values are included in the sum and the average is correct. [2.830s][debug][gc,phases ] GC(0) Ext Root Scanning (ms): Min: 5.7, Avg: 7.3, Max: 8.9, Diff: 3.1, Sum: 14.6 [2.830s][trace][gc,phases,task ] GC(0) 8.9 5.7 https://bugs.openjdk.java.net/browse/JDK-8152208 http://cr.openjdk.java.net/~jmasa/8152208/webrev.00/ <http://cr.openjdk.java.net/%7Ejmasa/8152208/webrev.00/> Nice catch! Your change looks good. The method WorkerDataArray::sum(uint activethreads) just above the average() method has the same issue. Can you fix that too? Yes, indeed. I messed up the delta a bit so all the changes are in the workerDataArray.inline.hpp webrev. The test has not changed. http://cr.openjdk.java.net/~jmasa/8152208/webrev.01/ <http://cr.openjdk.java.net/%7Ejmasa/8152208/webrev.01/> The code changes look good. (I realize that the sum() iteration was actually correct, but I your changes are much easier to read.) The test could be simplified a bit if you use the shouldMatch() method on the OutputAnalyzer rather than compiling your own regexps. http://hg.openjdk.java.net/jdk9/hs-rt/hotspot/file/9037ef388634/test/testlibrary/jdk/test/lib/OutputAnalyzer.java#l224 You already have an instance of OutputAnalyzer in your test: 64 OutputAnalyzer output = new OutputAnalyzer(pb.start()); So, this: 70 String parallelphaseleader = "Evacuate Collection Set: \d+\.\d+ms"; 71 String stdout = output.getStdout(); 72 Matcher m = Pattern.compile(parallelphaseleader, Pattern.MULTILINE).matcher(stdout); 73 74 if (!m.find()) { 75 throw new Exception("Could not find correct output for Evacuate Collection Set: in stdout," + 76 " should match the pattern "" + parallelphaseleader + "", but stdout is \n" + output.getStdout()); 77 } else { Could be replaced by the single line: output.shouldMatch("Evacuate Collection Set: \d+\.\d+ms"); Similarly for the other matching in the test. Thanks, Bengt Jon
Thanks, Bengt
Thanks. Jon
-------------- next part -------------- An HTML attachment was scrubbed... URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20160323/55fd3298/attachment.htm>
- Previous message (by thread): Request for Review - 8152208: Summary for phase times are incorrect with and without UseDynamicNumberOfGCThreads
- Next message (by thread): Request for Review - 8152208: Summary for phase times are incorrect with and without UseDynamicNumberOfGCThreads
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]