RFR (S) JDK-8149023: Event based tracing should cover safepoint begin and end
David Simms
david.simms at oracle.com
Fri Feb 12 09:41:22 UTC 2016
After further discussion with event folks, I updated the
"ExecuteVMOperation" event to carry the safepointId (relation).
Updated webrev: http://cr.openjdk.java.net/~dsimms/8149023/webrev1/
Reply in-line...
On 11/02/16 08:09, David Holmes wrote:
> Hi David,
>
> On 10/02/2016 1:45 AM, David Simms wrote:
>> Greetings all,
>>
>> I have small request for review, for adding event based tracing to
>> "SafepointSynchronize::begin()" and "end()"
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8149023
>> Webrev: http://cr.openjdk.java.net/~dsimms/8149023/webrev0/
>
> Repeating what I said in email for the public record ...
>
> I'm always concerned about the overhead of tracing when it is not
> being used.
>
Disabled events have the overhead of an extra stack allocation, followed
by a compare, which the branch predictor will take care of.
"#INCLUDE_TRACING" may be disabled to compile most of it out.
> I'm also concerned that it is not obvious what gets executed when
> these events are created, destroyed or committed. We have to be sure
> there are no actions that might interfere with the safepoint protocol,
> or which might themselves introduce latency into the safepoint process.
That concern would be a separate issue for the event frame-work, they
are designed to be used any where, any time.
>
> A new comment is that the event.commit blocks seems highly repetitive
> in many cases - dare I suggest using a macro? :)
That would against the Hotspot "Style Guide" and the existing event code.
/Mr. Simms
More information about the hotspot-runtime-dev
mailing list