Please Review (S): CR 6782663: Data produced by PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime is not accurate

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Fri Jul 10 13:53:26 PDT 2009


John,

We usually don't put bug's id as a comment,
you can get it from the changeset.
It is better to have a real comment explaining the code.
And if you have it, as in runtimeService.cpp, you don't need bug's id.

In arguments.cpp, I think, warnings should have what should be used:

warning("-XX:+PrintGCApplicationConcurrentTime is obsolete. Use -XX:+PrintApplicationExecutionTimes instead.");

Thanks,
Vladimir

john cuthbertson - Sun Microsystems wrote:
> Hi Everyone,
> 
> Can I have a couple of volunteers look over the attached changes for 
> this CR? The changes can be found at:
> 
> http://cr.openjdk.java.net/~johnc/6782663/webrev.00/
> 
> The issue here was that the code that was printing this information was 
> only executed for synchronous safepoints and ignored forced safepoints. 
> The user would see missing chunks of time (especially with also 
> displaying GC time stamps) giving the impression that the JVM and app 
> were idle. I was able to see this in the first few minutes of SPECjbb2005.
> 
> The simple solution was to move the printing into the routines that 
> record safepoint starts and ends, capturing guaranteed safepoints. I 
> have also changed the names of the flags to more accurately describe 
> that GCs are not the only things we take a safepoint for (and deprecated 
> the old flag names).
> 
> With these changes I see a delta between (application time + safepoint 
> time) and the GC timestamp of around 0.1s instead of around 5 and 7 
> seconds previously.
> 
> Testing: SPECjbb2005 (exhibited behavior), IBM UK's own evaluation, and 
> JPRT.
> 
> Thanks,
> 
> JohnC



More information about the hotspot-runtime-dev mailing list