Hi David,

Thanks for taking the time to look at this!

> On 9 Oct 2017, at 03:26, David Holmes <david.hol...@oracle.com> wrote:
> 
> Hi Robin,
> 
> On 6/10/2017 8:22 PM, Robin Westberg wrote:
>> Hi all,
>> Please review this change to add event-based tracing events for biased lock 
>> revocations:
>> Issue: https://bugs.openjdk.java.net/browse/JDK-8187042
>> Webrev (courtesy of Erik Gahlin): 
>> http://cr.openjdk.java.net/~egahlin/8187042/
> 
> I have a few queries:
> 
> First, why is there no event for the self-revocation path?

That’s a good question, I did not want to add events for revocations done 
without consulting the bulk revocation heuristics (as that could generate a 
very large amount of events), so I may have mistakenly thought of the 
self-revocation as a part of that.. But certainly makes sense to have an event 
there as well, I’ll do a bit of testing and add one.

> Second, is there a reason you can't put the event management inside the VM 
> operation code and so avoid the need to adjust the safepoint counter?

Well yes, the event itself is configured to record the current thread together 
with a stack trace, but that requires that the event is actually generated from 
the thread that should be recorded.

> Third, I would have expected to see more detail in the event such as which 
> thread (id) the object was biased to and which thread revoked the bias. Even 
> perhaps some notion of which instance was involved (though that's harder to 
> shows).

Right, I’ve been looking at capturing which thread the object was biased 
towards, but I was afraid of the possible races there as the thread pointer in 
the mark would have to be saved before executing the VM operation. For that to 
work 100% reliably I suspect it would have to be done inside the safepoint.

I will create an updated webrev after looking into adding an event for the 
self-revocation path.

Best regards,
Robin

Reply via email to