Thread Local Handshake in JVMTI functions
David Holmes
david.holmes at oracle.com
Wed Apr 1 10:05:32 UTC 2020
On 1/04/2020 11:02 am, Yasumasa Suenaga wrote:
> Thanks Dan and Serguei!
>
> I added a comment for this to JDK-8201641.
>
> David, can you share Bug ID for thread-to-thread handshake?
> I want to record it to JDK-8201641 as a blocker.
https://bugs.openjdk.java.net/browse/JDK-8240918
I heard the RFR could be as soon as tomorrow :)
Cheers,
David
>
> Yasumasa
>
>
> On 2020/04/01 1:59, serguei.spitsyn at oracle.com wrote:
>> Hi Yasumasa,
>>
>> Yes, this works needs to be done.
>> I'll take look at you webrev.
>>
>> Thanks,
>> Serguei
>>
>> On 3/31/20 07:41, Daniel D. Daugherty wrote:
>>> Add Robbin to this thread...
>>>
>>>
>>> This reminded of the following RFE that Robbin filed:
>>>
>>> JDK-8201641 JVMTI: GetThreadListStackTraces should use
>>> Thread-Local Handshakes
>>> https://bugs.openjdk.java.net/browse/JDK-8201641
>>>
>>> We could update 8201641 to include everything that Yasumasa-san is
>>> requesting.
>>> Would be a good place to track it...
>>>
>>> Dan
>>>
>>>
>>> On 3/31/20 7:40 AM, Yasumasa Suenaga wrote:
>>>> Hi David,
>>>>
>>>> On 2020/03/31 19:16, David Holmes wrote:
>>>>> Hi Yasumasa,
>>>>>
>>>>> On 31/03/2020 8:06 pm, Yasumasa Suenaga wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> Many JVMTI functions uses VM Operation to get information. However
>>>>>> some of them need to stop only one thread - they don't need to
>>>>>> stop all threads.
>>>>>> So I think we can use Thread Local Handshake as this webrev. It is
>>>>>> example for GetOneCurrentContendedMonitor().
>>>>>
>>>>> True, but at the moment handshakes involve the VMThread. There is
>>>>> work being done to support direct thread-to-thread handshakes and
>>>>> once that is done this kind of conversion should be more easily
>>>>> done. It might be worth waiting for that.
>>>>
>>>> Thanks, I will be back to this topic when thread-to-thread handshake
>>>> is done.
>>>> I wondered at first why VMThread involves handshake. Its improvement
>>>> is welcome for me ;)
>>>>
>>>>
>>>> Cheers,
>>>>
>>>> Yasumasa
>>>>
>>>>
>>>>>> http://cr.openjdk.java.net/~ysuenaga/jvmti-thread-local-handshake/
>>>>>
>>>>> An observation, it seems to me that calling_thread is not used when
>>>>> this is not a VMOperation.
>>>>>
>>>>> Cheers,
>>>>> David
>>>>>
>>>>>> Also I think we can replace following VM Operations to Thread
>>>>>> Local Handshake:
>>>>>>
>>>>>> class VM_GetCurrentLocation
>>>>>> class VM_EnterInterpOnlyMode
>>>>>> class VM_UpdateForPopTopFrame
>>>>>> class VM_SetFramePop
>>>>>> class VM_GetOwnedMonitorInfo
>>>>>> class VM_GetCurrentContendedMonitor
>>>>>> class VM_GetFrameCount
>>>>>> class VM_GetFrameLocation
>>>>>>
>>>>>> What do you think?
>>>>>> It it is acceptable, I will file it to JBS and send review request.
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Yasumasa
>>>
>>
More information about the serviceability-dev
mailing list