[9] RFR(XXS): 8036091: compiler/membars/DekkerTest.java fails with -XX:CICompilerCount=1

Albert albert.noll at oracle.com
Wed Mar 5 01:14:07 PST 2014


Thank you, Christian.

I'll to the change and push it.

Best,
Albert

On 03/04/2014 09:58 PM, Christian Thalinger wrote:
> !   const int num_min_compiler_threads = (TieredCompilation && (TieredStopAtLevel >= 4)) ? 2 : 1;
>
> Use CompLevel_full_optimization instead of 4.
>
> Otherwise this looks good.
>
> On Mar 3, 2014, at 11:29 PM, Albert <albert.noll at oracle.com> wrote:
>
>> Hi Vladimir,
>>
>> thanks for your review. I did your proposed changes.
>>
>> Here is the new webrev:
>> http://cr.openjdk.java.net/~anoll/8036091/webrev.01/
>>
>> Best,
>> Albert
>>
>> On 03/03/2014 09:31 PM, Vladimir Kozlov wrote:
>>> Albert,
>>>
>>> You need to add -XX:-TieredCompilation to test's commands. I forgot it when I added the test. Removing -XX:CICompilerCount=1 is wrong because sequence of C2 compilations will affect the reproduction of the problem. CICompilerCount=1 serializes compilations and makes compilation sequence more deterministic. Even with -Xbatch tests which execute several threads the compilation is not deterministic because compilation requests from different java threads will be served by different compiler threads.
>>>
>>> CICompilerCount, by definition and by the code we used in Tiered, is total number of compilers threads, C1+C2. You can't interpret it differently for =1 case.
>>>
>>> Albert, make sure to allow CICompilerCount=1 with Tiered compilation when only C1 is used (TieredStopAtLevel < 4).
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 3/3/14 4:49 AM, Aleksey Shipilev wrote:
>>>> Thanks Albert!
>>>>
>>>> -Aleksey.
>>>>
>>>> P.S. Serves me right for not paying attention to the original issue
>>>> thinking it only covers the negative values.
>>>>
>>>> On 03/03/2014 04:47 PM, Albert wrote:
>>>>> Hi Aleksey,
>>>>>
>>>>> Vladimir K. reviewed JDK-8034775, let's see what he thinks. If we decide
>>>>> to go for the clean
>>>>> solution, I could make it work.
>>>>>
>>>>> Best,
>>>>> Albert
>>>>>
>>>>> On 03/03/2014 01:42 PM, Aleksey Shipilev wrote:
>>>>>> On 03/03/2014 04:25 PM, Albert wrote:
>>>>>>> For me the only clean solution that *enforces* and *retains* the
>>>>>>> meaning of the flag is to enable a compiler thread to grab tasks from
>>>>>>> both queues (or have a shared queue). Maybe someone can tell why it
>>>>>>> is implemented as it is?
>>>>>> I agree, this seems to be only good solution for
>>>>>> not-that-familiar-with-HS-tiered-arch guy like me.
>>>>>>
>>>>>> -Aleksey.



More information about the hotspot-compiler-dev mailing list