Please Review (S): CR 6782663: Data produced by PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime is not accurate
john cuthbertson - Sun Microsystems
John.Cuthbertson at Sun.COM
Fri Jul 10 13:45:49 PDT 2009
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