RFR: 8146705: Improve JVMCI support for blocking compilation
Christian Thalinger
christian.thalinger at oracle.com
Mon Jan 11 18:35:10 UTC 2016
> On Jan 11, 2016, at 7:30 AM, Doug Simon <doug.simon at oracle.com> wrote:
>
>>
>> On 11 Jan 2016, at 18:23, Christian Thalinger <christian.thalinger at oracle.com> wrote:
>>
>>
>>> On Jan 11, 2016, at 3:18 AM, Doug Simon <doug.simon at oracle.com> wrote:
>>>
>>> The CompileBroker currently uses a simple timeout of 1 second when waiting for a blocking JVMCI compilation to complete. This approach is too simple. JVMCI compiler threads themselves flood the compilation queues with compilation requests; such compilations cannot be blocking (the JVMCI compiler can easily cause the system to deadlock). This flooding means that application submitted tasks often timeout before the tasks even start compiling.
>>> Once a JVMCI thread starts compiling a task, there is still the risk of it deadlocking. The current timeout mechanism needs to be augmented with a test of the compiler thread's state. As long as it's not blocked for too long, we know the compiler is making progress and will eventually complete.
>>>
>>> This review is for changes that address the above issues as follows:
>>>
>>> 1. Non-blocking tasks are selected before blocking tasks from the compilation queue.
>>
>> Aren’t blocking tasks selected before non-blocking tasks?
>
> Yes, exactly the opposite of what I said ;-) I’ve fixed the bug description and thankfully got the implementation the right way round.
Then it looks good :-)
>
> -Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160111/1f7f1a03/attachment.html>
More information about the hotspot-compiler-dev
mailing list