RFR: 8238761: Asynchronous handshakes [v3]

Robbin Ehn rehn at openjdk.java.net
Mon Sep 21 11:11:05 UTC 2020


On Mon, 21 Sep 2020 05:26:08 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Removed double check, fix comment, removed not needed function, updated logs
>
> src/hotspot/share/runtime/handshake.hpp line 44:
> 
>> 42: // by the target JavaThread itself or, depending on whether the operation is
>> 43: // a single target/direct handshake or not, by the JavaThread that requested the
>> 44: // handshake or the VMThread respectively.
> 
> This comment now indicates that all single target handshakes are executed as direct-handshakes and never by the
> VMThread - is that correct?

The concept of direct handshake do not exist in that way. (but can easily be implemented using the filter)
You have operation that you need to be executed on a JavaThread, you add that to that JavaThread.
Any thread ("driver") that succeed to claim that JavaThreads handshake state (lock and that JavaThread is safe) procced
to execute from that handshake queue until empty (empty according to applied filter on queue).

> src/hotspot/share/runtime/handshake.hpp line 107:
> 
>> 105:       _claim_failed,
>> 106:       _processed,
>> 107:       _succeed,
> 
> grammatically should be _succeeded

Fixed

-------------

PR: https://git.openjdk.java.net/jdk/pull/151


More information about the serviceability-dev mailing list