RFR: 8212107: VMThread issues and cleanup [v6]

David Holmes david.holmes at oracle.com
Fri Sep 25 01:01:06 UTC 2020


<trimming>

Hi Dan,

On 25/09/2020 6:39 am, Daniel D.Daugherty wrote:
> On Thu, 24 Sep 2020 06:27:46 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
>> 352:       // Wait to install this operation as the next operation in the VM Thread
>> 353:       log_trace(vmthread)("A VM operation already set, waiting");
>> 354:       ml.wait();
> 
> So instead of a thread enqueuing an operation on the VMop queue
> and then waiting for the operation to be executed, we have the thread
> waiting to enqueue the operation as the "next operation". It seems to
> me that the new algorithm means that the waiting thread will be
> woken up more often and then go back to wait()ing without progress.
> Perhaps this is mitigated by there being way fewer VM operations in
> the system, but I'm not sure.

This is the whole premise of making this change: we no longer need a 
queue because we rarely have >1 VM-operations in-flight. So the 
expectation with the new "distributed queue" is that at most one or two 
threads may be waiting.

Cheers,
David
-----
> -------------
> 
> PR: https://git.openjdk.java.net/jdk/pull/228
> 


More information about the hotspot-dev mailing list