RFR: 8238761: Asynchronous handshakes [v5]

Robbin Ehn rehn at openjdk.java.net
Wed Sep 23 10:55:20 UTC 2020


On Wed, 23 Sep 2020 03:20:02 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Update after Coleen
>
> src/hotspot/share/runtime/handshake.cpp line 244:
> 
>> 242:         // A new thread on the ThreadsList will not have an operation,
>> 243:         // hence it is skipped in handshake_try_process.
>> 244:         HandshakeState::ProcessResult pr = thr->handshake_state()->try_process(_op);
> 
> To be clear on what can be happening here ... as the VMThread has to loop through all threads first to initiate the
> handshake, by the time it starts trying to process the op, the target threads may have already done it themselves.
> Additionally while looping through all threads, a thread that has not yet been handshaked could try to handshake with a
> thread the VMThread has already processed, and so it could also execute the operation before the VMThread gets to it.

Yes

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

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


More information about the hotspot-runtime-dev mailing list