Thread Local Handshake in JVMTI functions
Yasumasa Suenaga
suenaga at oss.nttdata.com
Wed Apr 1 12:29:39 UTC 2020
Thanks David!
If JDK-8201641 is not assigned when JDK-8240918 is resolved, I will start to work for JDK-8201641.
(It would be large patch...)
Cheers,
Yasumasa
On 2020/04/01 19:05, David Holmes wrote:
> 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